如果该行中的某个单元格不为空,我想更改整行的背景颜色。我一直在努力添加自定义格式化程序,但没有结果。
最佳答案
事实证明,这比我想象的要困难。
无论如何,假设 field
值为 0、1、2、3 和 4 的列,您可以执行以下操作:
var colNeedingData = 2; // Column "C" (row headings are ignored in the index)
function cellNotEmptyFormatter(row, cell, value, columnDef, dataContext) {
if (dataContext[colNeedingData] && dataContext[colNeedingData] != '') {
var rowCells = {};
rowCells[row] = {
0: "highlight",
1: "highlight",
2: "highlight",
3: "highlight",
4: "highlight"
};
grid.setCellCssStyles("highlightRowWhenNotEmpty" + row, rowCells); // add row# to make a unique key
} else if (dataContext[colNeedingData] == '') {
grid.removeCellCssStyles("highlightRowWhenNotEmpty" + row); // add row# to make a unique key
}
if (value)
return value;
else
return '';
};
列定义类似于
for (var i = 0; i < 5; i++) {
columns.push({
id: i,
name: String.fromCharCode("A".charCodeAt(0) + i),
field: i,
width: 100,
editor: Slick.Editors.Text,
formatter: cellNotEmptyFormatter
});
}
当数据出现在第三列(下面的 jsfiddle 中的“C”列)时,这将为该行中的每个单元格提供一个 highlight
类。
这是一个演示 - http://jsfiddle.net/gftqzyj5/
关于javascript - 如果某个单元格不为空,如何更改 Slickgrid 中的行背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42525902/