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,判断如果单元格内容含有延迟字符串,单元格的背景就设置为黄色警告,字体的颜色我也做了改变,因为选中行的时候字体的颜色会变成百色,可能看不清,在这里设置字体颜色之后就可以覆盖掉选中行字体颜色的效果。

效果如下图:

posted @ 2021-03-24 18:03  A1exZz  阅读(1805)  评论(0)    收藏  举报