Easyui:Datagrid修改单元格背景颜色
公司做的页面项目需求用到了Easyui,需求是要根据单元格里的内容修改单元格的内容和背景颜色。在百度上搜了好多,都是直接用JS来操作DOM的,太麻烦了,感觉不是特别好。 在经过实验之后,发现可以使用Easyui里Datagrid中column属性的formatter方法和styler方法刚好可以满足我的需求,在这里记录一下。
直接上代码:
{field:days[i],title:parseInt(acctMonthbeg)+i,align:'center',width:100,
formatter: function(value){
if (String(value).indexOf("延迟") !=-1 ){return value.slice(0,8)}
else {return value}````
},
styler: function(value) {
if (String(value).indexOf("延迟") !=-1 ){return 'background-color:#ffe74e;color:#000'}
}
}
代码解释:字段我是通过循环动态加载的,formatter方法可以传单元格中的值value,我通过判断value中是否含有延迟的字符串然后返回给单元格要展示的值。
同样styler方法也可以传value,判断如果单元格内容含有延迟字符串,单元格的背景就设置为黄色警告,字体的颜色我也做了改变,因为选中行的时候字体的颜色会变成百色,可能看不清,在这里设置字体颜色之后就可以覆盖掉选中行字体颜色的效果。
效果如下图:

浙公网安备 33010602011771号