[英]Modify DataTables TableTools default PDF export filename at runtime
我正在使用JQuery DataTables TableTools插件,並定義了PDF的默認文件名。 但是,我使用帶有ajax的數據表,並且有一個日期范圍選擇器,因此頁面沒有刷新,因此當條件更改時,我無法提供新的默認文件名。
有沒有人知道如何在使用表工具初始化數據表之后在運行時更改默認文件名,即直接修改配置?
"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"
]
}
我想你想要一些動態生成的名字。 創建一個返回(字符串)文件名的函數。
function getCustomFileName(){
var docDate = $("#from").val();
var filter = $("#example_filter input").val();
var oSettings = oTable.fnSettings();
var fileName = docDate+"_"+filter;
return fileName;
}
並使用$(document).ready
的函數但在$('#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"
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.