我正在使用Datatable TableTools 2.2.4版。和Bootstrap v3.0.0。我正在尝试将Bootstrap选项卡中的表导出为CSV,XLS和PDF。我正在使用此代码:
tableTools: {
"sSwfPath": instance.SwfUrl,
"aButtons": ["csv", "xls", {
"sExtends": "pdf",
"mColumns": [ 1, 2, 3, 4,5,6]
}]
},
问题是,该表位于tab中,这意味着它在初始化期间不可见。如果我把表放在标签之外,它就像一个魅力。
我搜索了这个问题,解决方案是这样的:
$('.nav-tabs a').on('shown.bs.tab', function (event) {
var table = $.fn.dataTable.fnTables(true);
if (table.length > 0) {
$(table).dataTable().fnAdjustColumnSizing();
var oTableTools = TableTools.fnGetInstance(table[0]);
if (oTableTools != null && oTableTools.fnResizeRequired()) {
oTableTools.fnResizeButtons();
}
}
});
我确信,这个事件被解雇了,但它没有解决我的问题。
答案 0 :(得分:0)
试试这个
JS
if ($('#TableID').is(':visible')) {
InitTableTools($(this))
// $(this) --> passes the table object if visible.
//So that you can initialize table tools for that particular visible table only
}
else
{
DestroyTableTools($(this))// $(this) --> passes the table object if visible
}
function InitTableTools(Table)
{
// code to initialize table tools
}
funtion DestroyTableTools()
{
// code to destroy the initialised table tools , if destroy option is available in plugin
}