TableTools 未加载到 DataTables 表上

Posted

技术标签:

【中文标题】TableTools 未加载到 DataTables 表上【英文标题】:TableTools not loading on a DataTables Table 【发布时间】:2014-10-07 09:04:16 【问题描述】:

数据表工作正常,但是我正在尝试添加 TableTools,但遇到了问题。使用我正在使用的数据表可以正常工作,完全没有问题,但是尝试将 tabletools 添加到它没有成功。我正在做的事情没有报告控制台错误,但没有任何显示。这让我相信我在代码中做错了什么。我已经把代码放在下面了。

脚本包括:

        <script src="//cdn.datatables.net/1.9.4/js/jquery.dataTables.js"></script>
        <script src="//cdn.datatables.net/tabletools/2.2.0/js/dataTables.tableTools.js"></script>
        <script src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
        <link rel="stylesheet" href="//cdn.datatables.net/tabletools/2.2.0/css/dataTables.tableTools.css" type="text/css" media="all" />

我正在使用以下代码:

        var foreTable = $(".cscf-fore-table").dataTable(dom: \'T<"clear">lfrtip\',
            tableTools: 
                "sSwfPath": "//cdn.datatables.net/tabletools/2.2.0/swf/copy_csv_xls.swf",
                "aButtons": [
                "copy",
                "csv",
                "xls",
                "print"
                ]
            ,
                "bSort": false,"aLengthMenu": [
                [25, 50, 100, 200, -1],
                [25, 50, 100, 200, "All"]
                ],
            "iDisplayLength":-1, "bJQueryUI":true, "sPaginationType":"full_numbers");  

【问题讨论】:

您还需要包含 CSS,//cdn.datatables.net/tabletools/2.2.2/css/dataTables.tableTools.css @davidkonrad ...是的...如果您查看我在帖子中的代码,有一个包含正是该 URL .... Ups,我怎么能忽略这一点?那 :( 原因是我尝试了你的代码 -> jsfiddle.net/v5c9v8jf 并且它似乎没有问题。起初我认为"sSwfPath": "//cdn.. -> "sSwfPath": "http://cdn.. 但无论哪种方式都有效。你能发布一个重现问题的小提琴,或链接到该网站? @davidkonrad 您使用的是 1.10。我正在使用 1.9.4。我的现有代码升级时出错。这是旧版本的小提琴。它不起作用:jsfiddle.net/v5c9v8jf/1 【参考方案1】:

首先,您分叉的小提琴不起作用,因为您导入了 tabletools.js / .css 之前 dataTables.js.css

tableTools 不适合您的主要原因是 1.10.x 驼峰命名约定和 1.9.x 匈牙利表示法之间的混合。您可能已经从示例中进行了某种升级/复制粘贴?你有:

dataTable(
   dom: 'T<"clear">lfrtip',

但在 1.10.x 之前,dom 被命名为 sDom。在 1.10.x 中,您可以同时使用 domsDom,但 dataTables 1.9.4 只知道 sDom。只需更改为

dataTable(
   sDom: 'T<"clear">lfrtip',

这就是控制台中没有错误的原因。 TableTools 从未初始化,您的整个dom-声明都被忽略了。

再次查看分叉的小提琴,现在可以正常工作 - dataTables 1.9.4 和 tableTools 2.2.2 -> http://jsfiddle.net/7ng9wfak/

【讨论】:

以上是关于TableTools 未加载到 DataTables 表上的主要内容,如果未能解决你的问题,请参考以下文章

为现有 DataTable 初始化 tableTools

TableTools - 导出到 Excel 不起作用

为啥 DataTable TableTools 导出为 pdf 或 excel 或 csv 不适用于私人浏览器?

为啥 DataTable TableTools 导出为 pdf 或 excel 或 csv 按钮不可见,只有打印按钮可见?

在 Datatables Tabletools 中从导出中排除列

如何有条件地显示 TableTools 按钮