如果该行中的某个单元格不为空,我想更改整行背景颜色。我一直在添加自定义格式化程序,但没有结果。
答案 0 :(得分:0)
事实证明比我想象的要困难。
无论如何,假设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
});
}
当第3列中存在数据时,这将为行中的每个单元格提供highlight
类(下面的jsfiddle中的“C”列)。
这是一个演示 - http://jsfiddle.net/gftqzyj5/