EasyUI本身是不支持这种方式的,但是现在这种方式还是很常见的,有两个解决方案。
一是修改原代码即jquery.easyui.min.js文件。
二是使用formatter函数。采用第二种方式会添加很不方便,需要开发格式化函数,建议采用第一种修改源代码的方式。
由于EasyUI版本的原因,每个版体修改的地方可能不一样,以下以1.3.3,1.5.2,1.7.0 修改的代码来说明一下。主要查询的方法,查询关键“if(col){”,在原代码中找,出现如下图所示的原代码就可以了,代码中的变量不一样。
if(col){
var _8ec=_8e9[_8eb];
var css=col.styler?(col.styler.call(_8e5,_8ec,_8e9,_8e8)||""):"";
var cs=this.getStyleValue(css);
var cls=cs.c?"class=\""+cs.c+"\"":"";
var _8ed=col.hidden?"style=\"display:none;"+cs.s+"\"":(cs.s?"style=\""+cs.s+"\"":"");
cc.push("<td field=\""+_8eb+"\" "+cls+" "+_8ed+">");
1.3.3 版本
修改jquery.easyui.min.js中第8670行
//var _644=_641[_643];//可能解决问题
var _644=eval("_641['"+_643.replace(/\./g,"']['")+"']");
1.5.2 版本
修改jquery.easyui.min.js中第11304行
原始代码
if(col){
var _83e=_83b[_83d];
修改代码
if(col){
var _83e=undefined;
if(_83b[_83d.split(".")[0]]){
_83e=eval("_83b['"+_83d.replace(/\./g,"']['")+"']");
}else{
_83e=_83b[_83d];
}
1.7.0 版本
修改jquery.easyui.min.js中第12223行
原始代码
if(col){
var _8ec=_8e9[_8eb];
修改代码
if(col){
var _8ec=undefined;
if(_8e9[_8eb.split(".")[0]]){
_8ec=eval("_8e9['"+_8eb.replace(/\./g,"']['")+"']");
}else{
_8ec=_8e9[_8eb];}