2014-12-04 106 views
1

如何在使用TableTools从DataTable导出时排除某些列和行。jQuery dataTables - TableTools:在导出时隐藏行和列

| id | data  | date   | Status | 
|----|-----------|----------------|--------| 
| 1 | some data | october 2014 | ok  | 
| 2 | some data | september 2014 |  | 

我想隐藏状态列和没有状态为“ok”的行。 任何提示来解决这个问题,将不胜感激。

回答

1

据我所知,没有一个解决两个问题的“魔法”选项。而解决每个问题的选项似乎排除对方(如果任何人可以反驳这一点,会很好)。但我已经找到了解决方案(以避免冗余代码,我只显示它的拷贝按钮):

var table = $("#example").DataTable({ 
    dom: 'T<"clear">lfrtip', 
    tableTools: { 
     sSwfPath: "http://cdn.datatables.net/tabletools/2.2.3/swf/copy_csv_xls.swf", 
     aButtons: [ 
      { 
       sExtends : "copy", 
       mColumns : [0, 1, 2], 
       fnInit : function(nButton, oConfig) { 
        $(nButton).on('mousedown', function() { 
         table.column(3).search('ok').draw(); 
        }); 
        $(nButton).on('mouseup', function() { 
         table.column(3).search('').draw(); 
        }); 
       }, 
       oSelectorOpts : { filter: 'applied', order: 'current' }, 
      } 
    ]} 
}); 

说明

mColumns : [0, 1, 2] - >出口只有iddatadate

fnInit - >在初始化时能够按钮执行某些操作

$(nButton).on('mousedown', function() { - >过滤器行,其中状态为“OK”

$(nButton).on('mouseup', function() { - >取消设置出口的时候是做

oSelectorOpts : { filter: 'applied', order: 'current' }“确定”过滤器 - 在它们出现的顺序>设置tabletools只出口过滤行用户。

使用mousedown/mouseup的原因是以上不能与click或按钮功能fnComplete一起使用。

添加此功能所有按钮,如xlscsvpdfprint。我认为按钮print有问题。据我所知,按照按钮说明,它早些时候有“问题”。不知道这个问题最近是否已经解决。

相关问题