我在我网站的每个页面上调用了以下.js文件,并自动将表格转换为DataTables:
$.extend( $.fn.dataTable.defaults, {
"buttons": [
$.extend( true, {}, buttonCommon, {
extend: 'excelHtml5',
exportOptions: {
columns: ':visible'
}
} ),
$.extend( true, {}, buttonCommon, {
extend: 'pdfHtml5',
orientation: 'landscape',
exportOptions: {
columns: ':visible'
}
} ),
$.extend( true, {}, buttonCommon, {
extend: 'print',
exportOptions: {
columns: ':visible'
},
orientation: 'landscape'
} )
]
} );
//Render datatables
$(document).ready(function() {
if ($('.data-table').length !== 0)
{
$('.data-table').DataTable();
}
});
当我导出表格(即excelHtml5,pdfHtml5或打印)时,我希望导出的文档标题显示表格的 data-exporttitle 属性(如果表格有这样的属性,或者显示默认值。目前,默认情况下,标题显示页眉标题。
如何修改上述脚本以实现此目的?
如果此信息有任何帮助,我网站上的某些页面包含多个表格。
我的第一反应是添加以下"标题"每个扩展函数中的代码行,但它不起作用:
$.extend( true, {}, buttonCommon, {
extend: 'pdfHtml5',
orientation: 'landscape',
title: $(this).data("export-title")
} ),
答案 0 :(得分:2)
您可以在buttons.init
字面值中使用buttonCommon
。表格参考有点隐藏在参数中,但它有效:
var buttonCommon = {
init: function(dt, node, config) {
var table = dt.table().context[0].nTable;
if (table) config.title = $(table).data('export-title')
},
title: 'default title'
};
现在,按钮导出将与其关联的表title
属性具有相同的data-export-title
。
用法<table id="example" data-export-title="test">