2016-04-29 4 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 колонки видно ...

Смежные вопросы