2016-04-29 16 views
2

in datatables Ich möchte in der Lage sein, alle Spalten zu verbergen, aber kann nicht scheinen, um die Syntax richtig zu bekommen.datatables + alle Spalten ausblenden Schaltfläche

Aus dem Code unten und dem obigen Link, erstellt eine Schaltfläche, die alle Spalten anzeigt. Gibt es eine Möglichkeit, dies zu schreiben, so dass ich alle Spalten ausblenden kann?

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

Code:

$(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' 
      } 
     ] 
    }); 
}); 

Ich habe so etwas wie die unten mit anderen Permutationen versucht, aber keine Freude, kann jemand raten, und/oder wie könnte ich es in der Dokumentation.

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

Antwort

0

dies für mich gearbeitet, obwohl ich nicht sicher bin, warum die 0 nicht die erste Spalte nicht zeigen. es funktioniert auch es leer show: [],

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

Als erstes müssen Sie verlassen die Anzahl der Spalten in Datentabelle und legen Sie dann alle Spalten Sichtbarkeit falsch auf einmal binden bestimmen.

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: ['*'] 
} 

dies für mich gearbeitet, nur 2 Spalte sichtbar ...

Verwandte Themen