2012-06-24 15 views
7

Czy jest możliwa ukryta kolumna w slickgrid? Przez ukrytą kolumnę chcę zapisać kilka danych dla każdego wiersza, ale nie chcę, aby dane te były wyświetlane na siatce.jak dodać ukrytą kolumnę w slickgrid

+0

'wyświetlacz: brak'? – undefined

+0

gdzie mam to umieścić? Nie sądzę, że to dobry sposób na zrobienie tego. – sivann

Odpowiedz

17

Nie ma domniemanych powiązań między danymi a kolumnami w siatce - oba są całkowicie niezależne od siebie. Więc twoje dane mogą zawierać o wiele więcej pól niż są faktycznie powiązane z kolumnami siatki.

Przykład:

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

Oto moja data tablica zawiera pola start i finish ale wybrałem wyłączyć je przy tworzeniu mojego columns tablicę.

+0

doskonałe! Przypuszczam, że to zepsuje szelmę. Dzięki Njr. – sivann

+0

To jest poprawne. Jednak w mojej sytuacji jest 8 kolumn w sumie, 4 z nich są wyświetlane w siatce. Czy przy użyciu edytora złożonego mogę zdefiniować edytor kolumn, jeśli kolumna nie jest zadeklarowana? "Widoczna" właściwość kolumny byłaby naprawdę miła. – user1517081

+0

Są próbki edytora złożonego i złożonego na http://mleibman.github.io/SlickGrid/examples/ –

3

Myślę, że możesz to osiągnąć, używając grid.setColumns - powiedzmy, że masz columns={id, a, b, c} ustawiony podczas deklarowania siatki; po zainicjowaniu siatki można zadzwonić pod numer grid.setColumns(newColumns) - gdzie newColumns jest nową tablicą kolumn, która wyklucza identyfikator - newColumns={a, b, c}.

Ta kolumna jest nadal dostępna i wszystkie dane z nią związane również powinny być dostępne.

Mam nadzieję, że to pomoże!