在for.中使用setCellCssStyles循环中
能够使用 setCellCssStyles 为SlickGrid中的特定单元格着色,并具有行的显式索引号,例如:
grid.setCellCssStyles("key_name", {
0: {
col_name: "css_class",
},
})
但是当切换到计数器时。在循环中它不起作用:
grid.setCellCssStyles("key_name", {
i: {
col_name: "css_class",
},
})
尝试在 setCellCssStyles 之后重新渲染网格 (grid.render((( 有/没有 settimeout,typeOf(i( 是 Number
有什么想法吗?
谢谢 (:
当您使用相同的哈希设置 css 样式时,您的"键名"是相同的。如果您使用相同的"键名"和不同的哈希,它会覆盖前一个,这就是为什么它在 for 循环中不起作用的原因。尝试将循环变量添加到"键名"中,看看它是否有效。
这是一个JavaScript问题,而不是slickgrid。这 { i: value }
对象初始化器是显式初始化的方便简写,它实际上等同于{ "i": value }
。
请参阅:在 JavaScript 对象文本中使用变量作为键
你应该使用类似的东西
var temp = {};
for (var i = 0; i < 5; i++) {
temp[i] = value;
}
还值得注意的是,对象键必须始终是文本,但在很多情况下,数字到文本的转换由 Javscript 处理。
如果你认为你正在初始化一个数组,你最好去阅读Javascript数组和对象之间的区别。