是否可以在 slickgrid 中有一个隐藏列?隐藏列的意思是我想为每一行保存一些数据,但我不希望这些数据显示在网格上。
问问题
12535 次
3 回答
17
数据和网格中的列之间没有隐含的关系——两者完全独立存在。因此,您的数据可以包含比实际绑定到网格列更多的字段。
例子:
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
数组时排除它们。
于 2012-06-25T13:12:30.210 回答
3
我认为你可以通过使用来实现这一点- 假设你在声明网格时grid.setColumns
已经设置;columns={id, a, b, c}
网格初始化后,您可以调用grid.setColumns(newColumns)
- 其中newColumns
不包括 id - 的新列数组 newColumns={a, b, c}
。
该列仍然可以访问,并且与之关联的所有数据也应该可用。
希望这可以帮助!
于 2012-06-25T04:21:46.977 回答
1
在 angular-slickgrid 版本中,您可以执行以下操作 1. 在列定义中,包括所有列 2. 在 Present 中,重新添加您希望在网格中看到的列 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
于 2019-11-02T00:23:19.230 回答