2011-09-22 33 views
5

Tôi đang sử dụng plugin JQuery DataTables TableTools và đang xác định tên tệp mặc định cho tệp PDF. Tuy nhiên, tôi đang sử dụng datatables với ajax, và có một bộ chọn phạm vi ngày, vì vậy trang không được làm mới và do đó tôi không thể cung cấp tên tệp mặc định mới khi tiêu chí thay đổi.Sửa đổi tên tệp xuất PDF mặc định DataTables TableTools tại thời gian chạy

Có ai biết cách tôi có thể thay đổi tên tệp mặc định trong thời gian chạy không, sau khi bảng dữ liệu đã được khởi tạo bằng công cụ bảng, tức là sửa đổi cấu hình trực tiếp?

   "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" 
       ] 

      } 

Trả lời

9

Tôi đoán bạn muốn một số tên được tạo động. Tạo một hàm trả về tên tệp (chuỗi).

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

Và sử dụng hàm bên trong $(document).ready nhưng bên ngoài $('#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" 
       ] 

      } 
Các vấn đề liên quan