slickgridに非表示の列を含めることは可能ですか?非表示の列とは、各行のデータを保存したいのですが、このデータをグリッドに表示したくないという意味です。
3 に答える
データとグリッド内の列の間に暗黙の関係はありません。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
配列にはフィールドが含まれていますstart
がfinish
、配列を作成するときにそれらを除外することを選択しましたcolumns
。
これは、グリッドを宣言するgrid.setColumns
ときに設定したとしましょう。グリッドが初期化された後、 -columns={id, a, b, c}
を呼び出すことができます。ここで、はidを除外する新しい列配列です- 。grid.setColumns(newColumns)
newColumns
newColumns={a, b, c}
この列には引き続きアクセスでき、それに関連するすべてのデータも利用できるはずです。
お役に立てれば!
angle-slickgridバージョンでは、次の操作を実行できます。1.列の定義に、すべての列を含めます。2. [現在]に、グリッドに表示する列IDを再度追加します。次に、ページをロードして、列セレクターメニューを表示します。すべての列が表示されるのを楽しみにしています。いくつかのチェックされていない
例えば
this.columnDefinitions = [
{ id: 'name', name: 'Name', field: 'name', filterable: true, sortable: true },
{ id: 'duration', name: 'Duration', field: 'duration', filterable: true,sortable: true },
{ id: 'complete', name: '% Complete', field: 'percentComplete', filterable:true,sortable: true }
];
this.gridOptions = {
presets: {
// the column position in the array is very important and represent
// the position that will show in the grid
columns: [
{ columnId: 'duration', width: 88, headerCssClass: 'customHeaderClass' },
{ columnId: 'complete' }
]
// name will be present in the menu but not on the grid