我目前正在使用SlickGrid并允许用户使用ColumnPicker选择要显示的列。
按照http://mleibman.github.com/SlickGrid/examples/example4-model.html的示例,我已经能够很好地完成这项工作。
我不确定的下一步是,是否可以选择要在首次渲染时显示的默认列列表。
例如,假设我有一个5列的数组,声明如下:
{
name: "Name"
field: "Name"
id: "Name"
sortable: true
minWidth: 120
editor: Slick.Editors.Text
},
{
name: "Address"
field: "Address"
id: "Address"
sortable: true
minWidth: 175
editor: Slick.Editors.Text
},
{
name: "Town"
field: "Town"
id: "Town"
sortable: true
minWidth: 80
editor: Slick.Editors.Text
},
{
name: "Country"
field: "Country"
id: "Country"
sortable: true
minWidth: 80
editor: Slick.Editors.Text
},
{
name: "Network"
field: "Network"
id: "Network"
sortable: true
minWidth: 80
editor: Slick.Editors.Text
}
此时将显示所有这些列,并且可以选择将其隐藏在ColumnPicker中。我要查找的功能是,例如,我只想显示名称,地址和网络列,但仍然将其他列保留为ColumnPicker中的选项。
这是否到位或是否有可行的方法来实现这一目标?
答案 0 :(得分:8)
对于任何可能遇到此问题的人,我找到了一个有效但可能不是最好的解决方案。
它实际上使用了2个独立的数组,1个保存了要呈现的默认列,另一个包含了您可以选择的所有列的名称,包括默认列数组。
渲染时,我使用默认列数组实例化我的网格:
@Grid = new Slick.Grid(@ElementId, @Data, @DefaultColumns, @GridOptions)
然后在设置列选择器时,使用所有列的数组:
columnpicker = new Slick.Controls.ColumnPicker(@Columns, @Grid, @GridOptions)