Javascript 如果某个单元格不是空的,如何更改Slickgrid中的行背景色?

Javascript 如果某个单元格不是空的,如何更改Slickgrid中的行背景色?,javascript,jquery,slickgrid,Javascript,Jquery,Slickgrid,如果整行中的某个单元格不是空的,我想更改整行的背景色。我一直在努力添加自定义格式化程序,但没有结果。证明比我想象的更困难 无论如何,假设列的字段值为0,1,2,3和4,可以执行以下操作: var colNeedingData = 2; // Column "C" (row headings are ignored in the index) function cellNotEmptyFormatter(row, cell, value, columnDef, dataContext) {

如果整行中的某个单元格不是空的,我想更改整行的背景色。我一直在努力添加自定义格式化程序,但没有结果。

证明比我想象的更困难

无论如何,假设列的
字段
值为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
  });
}
for(变量i=0;i<5;i++){
柱推({
id:我,
名称:String.fromCharCode(“A”.charCodeAt(0)+i),
菲尔德:我,
宽度:100,
编辑:Slick.Editors.Text,
格式化程序:cellNotEmptyFormatter
});
}
当数据出现在第3列(下面的JSFIDLE中的“C”列)中时,这将为行中的每个单元格提供一个
突出显示


这是一个演示-

被证明比我想象的要难

无论如何,假设列的
字段
值为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
  });
}
for(变量i=0;i<5;i++){
柱推({
id:我,
名称:String.fromCharCode(“A”.charCodeAt(0)+i),
菲尔德:我,
宽度:100,
编辑:Slick.Editors.Text,
格式化程序:cellNotEmptyFormatter
});
}
当数据出现在第3列(下面的JSFIDLE中的“C”列)中时,这将为行中的每个单元格提供一个
突出显示


这是一个演示-

如果你觉得这个答案回答了你的问题,你可以考虑点击它旁边的复选标记,谢谢你觉得这个答案回答了你的问题,你可以考虑点击它旁边的复选标记来接受它,谢谢。