0

我正在使用 TableTools 进行导出功能,但它不起作用。仅打印按钮工作并显示弹出和隐藏。我从这个帖子中得到了建议,但没有给我明确的想法。下面是我的实现

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

我将 .swf 文件保存在我的服务器页面所在的同一文件夹中。我也试过了"sDom": 'T<"clear"><"H"lfr>t<"F"ip>',。但对我不起作用。我也得到建议,需要配置 Flash 播放器的一些安全设置。使用此功能是否需要 Flash 播放器?或者实施中出了什么问题。请建议。

4

2 回答 2

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-path 是错误的。打印由数据表本身在 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"
    }
});

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

在此处输入图像描述

于 2013-08-15T10:07:10.547 回答
3

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

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

解决方案:将表格放在第一个可见选项卡上,一切正常。它对我来说仍然很神秘,但它有效。希望能帮助到你。

于 2013-11-08T16:03:24.573 回答