0

问题:使用 TableTools extras 导出时,如何排除 jQuery DataTables.net 的最后一列?

细节

我正在使用 jQuery DataTables.net 和 TableTools extras 初始化几个不同的表。它们都使用相同的初始化代码。

不同的表有不同的列数。但是,所有表都有最后一列,即带有按钮的“操作”列。使用 TableTools 导出时,它会在导出中包含此列中的某些元素。我想排除所有表的 TableTools 导出的操作列。

我知道mColumns选项,但您似乎需要知道列数,这在我描述的场景中不起作用,所以请不要给我这样的答案:

"mColumns": [ 0, 1, 4 ]

谢谢

4

5 回答 5

6

仅适用于 googlers:在tabletools 2.2.3中,您现在可以将函数用于 mColumns

var dataTable = $grdData.DataTable({
     tableTools: {
          aButtons: [{
              "sExtends": "csv",
              "sButtonText": "csv",
              "mColumns": function ( dtSettings ) {
                   var api = new $.fn.dataTable.Api( dtSettings );

                   return api.columns(":not(:last)").indexes().toArray();
              }
          }]
     }
});
于 2014-11-17T10:28:04.000 回答
0

到目前为止,我发现的最好的是这些黑客。在我的情况下不是特别有用,但也许你有更好的运气

http://datatables.net/forums/discussion/327/tabletools-v1.0.2-save-as-excel-csv-copy-and-print/p3

于 2013-11-19T14:45:36.340 回答
0

您可以使用这样的类名排除:

"aoColumnDefs": [{ "mColumns": false, "aTargets": ["no-export"] }],

这是我在生产中工作的类似代码:

            var oTable = $('#<%= gvComputers.ClientID %>').dataTable({
            "bJQueryUI": true,
            "bStateSave": true,
            "sPaginationType": "full_numbers",
            "aLengthMenu": [[5, 10, 25, 50, 100, -1], [5, 10, 25, 50, 100, "All"]],
            "aoColumnDefs": [
                { "sSortDataType": "dom-text", "aTargets": ["text-sort_fixed"] },
                { "sType": "numeric", "aTargets": ["numeric-sort"] },
                { "sSortDataType": "dom-select", "aTargets": ["select-sort"] },
                { "sSortDataType": "dom-checkbox", "aTargets": ["checkbox-sort"] },
                { "bSearchable": false, "aTargets": ["no-search"] },
                { "bSortable": false, "aTargets": ["no-sort"] }
            ]
        });

我根据需要在表头、页脚和单元格上动态设置类,因为我不知道用户将从他们的个人数据视图中删除哪些列。

hth

于 2015-03-14T21:05:49.817 回答
0

假设您有六列,并且您只想显示列 1、2、3 和 5。试试这个:

{
   text: "print",
   extend: "print",
   className: "btn btn-lg btn-danger",
   exportOptions:
     {
       columns: [0,1,2,4]}
     }
}
于 2017-02-02T15:04:13.317 回答
0

在我的情况下,最好的解决方案是将列的可导出属性设置为 false。同样的方式你可以设置orderablesearchable等。

于 2016-07-04T14:29:13.817 回答