可以隐藏SlickGrid列而不将其从"columns"数组中删除?

Kev*_*vin 15 javascript slickgrid

我想隐藏一个列(它是每行唯一的ID列),但是我不能将它从"columns"数组中删除,因为当在Row上执行操作时,我需要在Row中的数据(选择,排序,等).

例如,在进行排序之后,我需要抓住Rows将它们与以前的样式匹配,然后我可以使用ID列执行此操作.我需要行中的数据,我只是不希望它被显示.

谢谢.

Tin*_*Tin 13

答案是否定的,但这不是你要找的答案:)

除了用于获取数据的列之外,它们与数据项之间没有硬链接.您不必在列中显示您的数据项上的ID.

  • 您将网格绑定到数据数组:var data = [{id:0,title:'item1'},{id:1,title:'item3'},...]; 如果您选择不显示ID列,则数据仍然存在于数据项上. (7认同)
  • 对于那些想知道如何将网格上的行转换为数据中适当的* row *的人,这里是:`alert(data [args.row] .id)`(假设您的数据中有`id`) (2认同)

use*_*841 7

如果有人还在寻找这个,我找到了一种方法......它不是很优雅,但确实有效.正如Simon建议的那样,将Id列添加为网格中的最后一列.将cssClass和headerCssClass都设置为"display:none!important",并将width,minWidth和maxWidth列选项设置为0,如下所示:

var columns = [
    { id: "MyColumnId", name: "My Column", field: "MyColumnData", width: 100},
    { id: "Id", name: "Id", field: "Id", width: 0, minWidth: 0, maxWidth: 0, cssClass: "reallyHidden", headerCssClass: "reallyHidden" }
];
Run Code Online (Sandbox Code Playgroud)

而css是:

.reallyHidden {display:none!important;}

希望有所帮助.