2016-04-29 116 views
2

datatables我希望能够隐藏所有列,但似乎无法获得正确的语法。datatables +隐藏所有列按钮

从下面的代码和上面的链接中,创建一个显示所有列的按钮。有没有办法写这个,这样我可以隐藏所有列?

 { 
      extend: 'colvisGroup', 
      text: 'Show all', 
      show: ':hidden' 
     } 

代码:

$(document).ready(function() { 
    $('#example').DataTable({ 
     dom: 'Bfrtip', 
     buttons: [ 
      { 
       extend: 'colvisGroup', 
       text: 'Office info', 
       show: [ 1, 2 ], 
       hide: [ 3, 4, 5 ] 
      }, 
      { 
       extend: 'colvisGroup', 
       text: 'HR info', 
       show: [ 3, 4, 5 ], 
       hide: [ 1, 2 ] 
      }, 
      { 
       extend: 'colvisGroup', 
       text: 'Show all', 
       show: ':hidden' 
      } 
     ] 
    }); 
}); 

我试图像下面的与其他的排列,更无须欢喜,任何人都可以提出建议,和/或如何我可能会发现它的文档。

{ 
    extend: 'colvisGroup', 
    text: 'Show None', 
    visibility: false 
} 

回答

0

这个工作对我来说,虽然我不知道为什么0不显示第一列。它也可以把它留空白show: [],

{ 
extend: 'colvisGroup', 
text: 'Show None', 
show: [0], 
hide: ['*'] 
} 
0

您首先需要确定的列数DataTable中绑定,然后将所有列知名度假一次。

var oTable = $('#example').DataTable(); 
var columnCounts = oTable.columns().nodes().length; 
for (var i=0; i<columnCounts; i++) { 
    oTable.fnSetColumnVis(i, false, false); 
} 
0
{ 
    extend: 'colvisGroup', 
    text: 'Show None', 
    hide: [':gt(1)'], 
    //show: [0, 1, 2], 
    //hide: [0, 1, 2], 
    //hide: ['*'] 
} 

这个工作对我来说,只有2列可见...