2012-06-24 16 views
7

¿Es posible tener una columna oculta en slickgrid? Por columna oculta quiero decir que quiero guardar algunos datos para cada fila, pero no quiero que estos datos se muestren en la cuadrícula.cómo agregar una columna oculta en slickgrid

+0

'display: none'? – undefined

+0

¿dónde pongo esto? No creo que sea una buena forma de hacerlo. – sivann

Respuesta

17

No existe una relación implícita entre los datos y las columnas en la cuadrícula; los dos existen completamente independientes entre sí. Por lo tanto, sus datos pueden contener muchos más campos de los que realmente están vinculados a columnas de cuadrícula.

Ejemplo:

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); 
}) 

Aquí mi data matriz contiene campos start y finish pero han optado por excluirlos al crear mi arsenal columns.

+0

excelente! Supuse que esto rompería Slickgrid. Gracias njr. – sivann

+0

Esto es correcto. Sin embargo, en mi situación hay 8 columnas en total, 4 de ellas se muestran en la cuadrícula. Al usar un editor compuesto, ¿cómo puedo definir un editor de columna si la columna no está declarada? Una propiedad de columna 'visible' sería realmente agradable. – user1517081

+0

Hay ejemplos de editor compuesto y compuesto en http://mleibman.github.io/SlickGrid/examples/ –

3

Creo que puede lograrlo utilizando grid.setColumns - digamos que tenía columns={id, a, b, c} establecido al declarar la red; una vez inicializada la cuadrícula, puede llamar al grid.setColumns(newColumns), donde newColumns es la nueva matriz de columnas que excluye id - newColumns={a, b, c}.

Esta columna sigue siendo accesible y todos los datos asociados a ella deben estar disponibles también.

Espero que esto ayude!

Cuestiones relacionadas