2012-06-24 19 views
7

E 'possibile avere una colonna nascosta in slickgrid? Per colonna nascosta intendo che voglio salvare alcuni dati per ogni riga, ma non voglio che questi dati vengano visualizzati sulla griglia.come aggiungere una colonna nascosta in slickgrid

+0

'display: nessuno'? – undefined

+0

dove lo metto? Non penso sia un buon modo per farlo. – sivann

risposta

17

Non esiste alcuna relazione implicita tra i dati e le colonne nella griglia: i due esistono completamente indipendenti l'uno dall'altro. Quindi i tuoi dati possono contenere molti più campi di quelli effettivamente associati alle colonne della griglia.

Esempio:

var grid; 
var columns = [ 
    {id: "title", name: "Title", field: "title"}, 
    {id: "duration", name: "Duration", field: "duration"}, 
    {id: "%", name: "% Complete", field: "percentComplete"}, 
    {id: "effort-driven", name: "Effort Driven", field: "effortDriven"} 
]; 

var options = { 
    enableCellNavigation: true, 
    enableColumnReorder: false 
}; 

$(function() { 
    var data = []; 
    for (var i = 0; i < 500; i++) { 
    data[i] = { 
     title: "Task " + i, 
     duration: "5 days", 
     percentComplete: Math.round(Math.random() * 100), 
     start: "01/01/2009", 
     finish: "01/05/2009", 
     effortDriven: (i % 5 == 0) 
    }; 
    } 

    grid = new Slick.Grid("#myGrid", data, columns, options); 
}) 

Ecco il mio allineamento data contiene campi start e finish, ma ho scelto di escluderli quando si crea il mio columns array.

+0

eccellente! Supponevo che questo avrebbe rotto slickgrid. Grazie njr. – sivann

+0

Questo è corretto. Tuttavia nella mia situazione ci sono 8 colonne in totale, 4 di queste sono visualizzate nella griglia. Quando si utilizza un editor composito, come posso definire un editor di colonne se la colonna non è dichiarata? Una proprietà di colonna 'visibile' sarebbe davvero bella. – user1517081

+0

Ci sono esempi di editor composto e composito su http://mleibman.github.io/SlickGrid/examples/ –

3

Penso che sia possibile ottenere ciò utilizzando grid.setColumns - diciamo che è stato impostato columns={id, a, b, c} durante la dichiarazione della griglia; dopo aver inizializzato la griglia, è possibile chiamare lo grid.setColumns(newColumns) - dove newColumns è il nuovo array di colonne che esclude l'id - newColumns={a, b, c}.

Questa colonna è ancora accessibile e tutti i dati ad essa associati dovrebbero essere disponibili.

Spero che questo aiuti!

Problemi correlati