1,效果图:
2,代码实现:
备注:基于easyui框架实现,主要方法集中在onLoadSuccess函数中。
onLoadSuccess:function(data){
var trs = $(this).prev().find('div.datagrid-body').find('tr');
//行
for(var i=0;i<trs.length;i++){
//行内单元格
for(var j=1;j<trs[i].cells.length;j++){
var row_html = trs[i].cells[j];
var cell_field=$(row_html).attr('field');
var cell_value=$(row_html).find('div').html();
var cellUrl='<s:url action="validateCellValueJson" namespace="/keyparam"></s:url>';
var cells=getSyncJSON(cellUrl,{cellValue:cell_value,cellName:cell_field});
if(!!cells.data && cells.data.bool==1){
trs[i].cells[j].style.cssText='background:#f00;';
}
}
}
}
代码诠释:
1,获取所有的行
2,循环遍历行
3,循环遍历行内单元格
4,锁定单元格根据实际的判断条件设置背景颜色,以及字体颜色。
var cellUrl='<s:url action="validateCellValueJson" namespace="/keyparam"></s:url>';
var cells=getSyncJSON(cellUrl,{cellValue:cell_value,cellName:cell_field});
if(!!cells.data && cells.data.bool==1){
trs[i].cells[j].style.cssText='background:#f00;';
}
这段代码是将判断放在后天处理,实际开发根据场景自定义。