2012-06-24 184 views
7

slickgridで非表示の列を使用することはできますか?非表示の列では、各行にいくつかのデータを保存することを意味しますが、このデータをグリッドに表示させたくありません。slickgridで非表示の列を追加する方法

+0

'display:none'? – undefined

+0

どこに置くのですか?私はそれが良い方法だとは思わない。 – sivann

答えて

17

データとグリッドの列との間に暗黙の関係はありません。これらの2つは完全に独立して存在します。したがって、データに実際にグリッド列にバインドされるよりも多くのフィールドが含まれる可能性があります。

例:

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

ここに私のdata配列はフィールドstartfinishが含まれていますが、私は私のcolumnsアレイを作成する場合は、それらを除外することを選択しました。

+0

優秀!私はこれがスリックグリッドを破ると思った。ありがとうございました。 – sivann

+0

これは正しいです。しかし、私の状況では合計8列あり、そのうちの4列がグリッドに表示されます。コンポジットエディタを使用する場合、列が宣言されていない場合、どのようにして列エディタを定義できますか? 「目に見える」列のプロパティは本当に素晴らしいでしょう。 – user1517081

+0

http://mleibman.github.io/SlickGrid/examples/に複合編集のサンプルがあります。 –

3

grid.setColumnsを使用してこれを達成できると思います - グリッドを宣言している間にcolumns={id, a, b, c}が設定されているとします。グリッドが初期化された後、grid.setColumns(newColumns)を呼び出すことができます。newColumnsは、id-newColumns={a, b, c}を除いた新しい列配列です。

この列は引き続きアクセス可能で、それに関連付けられているすべてのデータも使用可能である必要があります。

希望すると便利です。

関連する問題