Javascript SlickGrid在事件onCellChange上设置行后退颜色
我使用以下代码根据更改的值设置行的背景色,但它不起作用,行颜色没有更改:Javascript SlickGrid在事件onCellChange上设置行后退颜色,javascript,css,slickgrid,backcolor,Javascript,Css,Slickgrid,Backcolor,我使用以下代码根据更改的值设置行的背景色,但它不起作用,行颜色没有更改: MyGrid.onCellChange.subscribe(function (e, args) { var data = Grid.getData(); if(data[args.row].IsDeleted == true) { args.row.cssClasses +=
MyGrid.onCellChange.subscribe(function (e, args)
{
var data = Grid.getData();
if(data[args.row].IsDeleted == true)
{
args.row.cssClasses += 'MyBlueColor'; //Set Css Class
}
}
<style type="text/css">
.MyBlueColor
{
background-color: blue;
}
</style>
MyGrid.onCellChange.subscribe(函数(e,args)
{
var data=Grid.getData();
if(数据[args.row].IsDeleted==true)
{
args.row.cssClasses+=“MyBlueColor”;//设置Css类
}
}
.我的蓝色
{
背景颜色:蓝色;
}
参数。行
是行索引,而不是行本身
若要基于数据项更改行的cssClass,您需要实现一个自定义函数来返回该行的自定义元数据。请查看如何在中实现这一点
因此,为了确保它正常工作,您可以使用自己的自定义函数替换slick.dataview.js
中的getItemMetadata
函数,该函数类似于:
function getItemMetadata(i) {
var item = rows[i];
if (item === undefined) {
return null;
}
if (item.IsDeleted) {
return {
cssClasses: 'MyBlueColor'
};
}
return null;
}
这显然会破坏原始的列定义,但一旦您了解了
getRowMetadata
函数的工作原理,您应该能够创建自己的元数据提供程序,类似于slick.groupitemmetadataprovider.js
,甚至可以为每个列返回自定义元数据!检查它的呈现方式。没有空格i在您的CSS分配中,是否将名称与另一个类相结合?单元格上是否设置了更本地化的背景颜色,也许您需要一个CSS规则,如.MyBlueColor.slick cell{}
?