带有Datatables TableTools的Bootstrap选项卡

时间:2015-09-03 07:24:33

标签: jquery twitter-bootstrap export-to-excel tabletools

我正在使用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();
            }
        }
    });

我确信,这个事件被解雇了,但它没有解决我的问题。

1 个答案:

答案 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
}