0 渲染后是否会显示原有的数据?
arg.processDefault
在dataGrid的onRenderRow事件中编辑时,默认arg.processDefault=true,即该渲染事件结束后继续使用系统默认的渲染逻辑,数据还照常显示
在dataGrid的onRenderCell事件中编辑时,默认arg.processDefault=false,即该渲染事件结束后不使用系统默认的渲染逻辑,数据不显示
dataColumn的onRenderCell事件中编辑时,默认arg.processDefault=false,即该渲染事件结束后不使用系统默认的渲染逻辑,数据不显示
arg.dom和arg.dom.parentNode是什么
onRenderCell事件中编辑时,arg.dom是div块,arg.dom.parentNode是单元格td
onRenderCell事件中编辑时,arg.dom是行tr,arg.dom.parentNode是表格内容tbody【不包含标题】
1对某列中已有数据进行渲染,显示原有数据。字体变色
即某列的onRenderCell事件
此时要在事件编辑区最后加上一句:arg.processDefault=true,该渲染事件结束后继续使用系统默认的渲染逻辑,使得数据还照常显示
var status = arg.data.get("statusString");
//arg.dom.style.fontWeight="bold";
if(statu=="正常"){
arg.dom.style.color="green";//green
}else if(stat=="禁用"){
arg.dom.style.color="gray";
}else if(status=="停止"){
arg.dom.style.color="red";
}
arg.processDefault = true;
2对某列中已有数据进行变形渲染,不显示原有数据。根据图片的名字显示字符串
此时不需要arg.processDefault=true,因为不需要显示原有数据。
if(arg.data.get("image")){
//jquery对象.empty()返回去除了子元素和文本的jquery对象
$(arg.dom).empty().xCreate(
{
tagName : "IMG",
src : $url(">images/photo/"+ arg.data.get("image")),
style : "width: 20px; height: 20px; margin: 2px"
});
//初始化Tip控件,在控件中显示图片
dorado.TipManager.initTip(arg.dom.parentNode, {
content : {
tagName : "IMG",
src : $url(">images/photo/"+ arg.data.get("image")),
style : "width: 128px; height: 128px; margin: 8px"
},
arrowDirection : "top",
arrowAlign : "left"
});
3渲染某个行时
即dataDrid的onRenderRow事件
此时arg.processDefault默认为true,表渲染后使用系统默认的渲染器对数据进行渲染(即显示数据)