2011-09-22 3 views
5

Używam wtyczki TableTools JQuery DataTables i definiuję domyślną nazwę pliku PDF. Jednak korzystam z datatables z ajaxem i mam selektor zakresu dat, więc strona nie jest odświeżana i dlatego nie mogę podać nowej domyślnej nazwy pliku, gdy następnie zmieniają się kryteria.Modyfikuj tabelę danych TableTools domyślna nazwa eksportu pliku PDF w czasie wykonywania

Czy ktoś wie, jak zmienić domyślną nazwę pliku w czasie wykonywania, po tym, gdy elementy danych zostały zainicjowane za pomocą narzędzi tabelkowych, tj. Zmodyfikować konfigurację bezpośrednio?

   "oTableTools": { 
       "sSwfPath": "js/DataTables/copy_cvs_xls_pdf.swf", 


       "aButtons": [ 
        "copy", 
        "csv", 
        "xls", 
        { 
         "sExtends": "pdf", 
         "sTitle": "Report Name", 
         "sPdfMessage": "Summary Info", 
         "sFileName": "<?php print('How do i use jquery to change this after the table has been initialized'); ?>.pdf", 
         "sPdfOrientation": "landscape" 
        }, 
        "print" 
       ] 

      } 

Odpowiedz

9

Chyba chcesz trochę dynamicznie generowanej nazwy. Utwórz funkcję, która zwraca nazwę pliku (ciąg).

function getCustomFileName(){ 
    var docDate = $("#from").val(); 
    var filter = $("#example_filter input").val(); 
    var oSettings = oTable.fnSettings(); 
    var fileName = docDate+"_"+filter; 
    return fileName; 
} 

i korzystania z funkcji wewnątrz $(document).ready lecz poza $('#dTable').dataTable({ }).

"oTableTools": { 
       "sSwfPath": "js/DataTables/copy_cvs_xls_pdf.swf", 
       "aButtons": [ 
        "copy", 
        "csv", 
        "xls", 
        { 
         "sExtends": "pdf", 
         "sTitle": "Report Name", 
         "sPdfMessage": "Summary Info", 
         "sPdfOrientation": "landscape" 

         "fnClick": function(nButton, oConfig, flash) 
         { 
          customName = getCustomFileName()+".pdf"; 
          flash.setFileName(customName); 
          this.fnSetText(flash, 
           "title:"+ this.fnGetTitle(oConfig) +"\n"+ 
           "message:"+ oConfig.sPdfMessage +"\n"+ 
           "colWidth:"+ this.fnCalcColRatios(oConfig) +"\n"+ 
           "orientation:"+ oConfig.sPdfOrientation +"\n"+ 
           "size:"+ oConfig.sPdfSize +"\n"+ 
           "--/TableToolsOpts--\n" + 
           this.fnGetTableData(oConfig) 
          ); 
         }       
        }, 
        "print" 
       ] 

      } 
Powiązane problemy