TableTools插件导出按钮不起作用

时间:2013-08-13 10:11:17

标签: jquery jquery-plugins datatables tabletools

我使用TableTools进行导出功能,但它无法正常工作。只打印buttin工作和显示弹出和隐藏。我从this线索得到了建议,但没有给我明确的想法。以下是我的实施

 $('#example').dataTable({
  "sDom": 'T<"clear">lfrtip',
   "oTableTools": {
    "sSwfPath": "copy_csv_xls_pdf.swf"
     }
  });

我将.swf文件保存在我的服务器页面所在的同一文件夹中。我还尝试了"sDom": 'T<"clear"><"H"lfr>t<"F"ip>',。但不适合我。另外我有人建议有一些需要配置的flash播放器的安全设置。使用此功能需要Flash播放器吗?或者实施中出了什么问题。请建议。

2 个答案:

答案 0 :(得分:6)

两个重要规则:

1 必须包含TableTools脚本,例如

<script type="text/javascript" src="DataTables-1.x.x/extras/TableTools/media/js/TableTools.min.js"></script> 

DataTables-1.x.x/ =您的数据表版本的路径。

2 )只有打印按钮 强烈 的情况表明您的.swf - 路径错误。打印是通过数据表本身在javascript中完成的 - 复制,excel等由flash-plugin完成。

不要改变 .swf的路径!让.swf保持原样,例如

sSwfPath: "DataTables-1.x.x/extras/TableTools/media/swf/copy_csv_xls_pdf.swf"

TableTools导出功能不需要安全问题或其他先决条件。它应该开箱即用。

当你确定1)和2)这个简单的初始化

var table =  $('#example').dataTable({
    sDom: 'TC<"clear">lfrtip',
    oTableTools: {
        sSwfPath: "DataTables-1.x.x/extras/TableTools/media/swf/copy_csv_xls_pdf.swf"
    }
});

将生成一个具有全功能导出按钮的数据表:

enter image description here

答案 1 :(得分:3)

我遇到过这个问题。 我的情况是这样的。 一切似乎都很好。按钮在那里。唯一的问题是按钮不起作用。

我的问题是应该导出的表位于选项卡式div视图中。而这个div视图最初是不可见的。它只有在用户点击它所在的标签页后才能看到。

解决方案:将表格放在第一个可见标签上,一切正常。 它对我来说仍然是神秘的,但它确实有效。 希望它有所帮助。