easyui 只在页面装载时渲染标签,因此在使用formatter格式化列数据后,动态添加的linkbutton样式无法使用,以下方式是无法解析的:formatter:function(value,rowData,rowIndex) { if(value==""||value==null){ return "未知"; }else{ return "<a class='sz_button' οnclick='editRoleAuthority(\""+value+"\");' href='javascript:void(0);'>设置</a> <a class='ll_button' οnclick='browseRoleAuthority(\""+value+"\");' href='javascript:void(0);'>浏览</a>"; } }
onLoadSuccess事件是在datagrid加载数据完成后的事件,相当于datagrid的回调函数,这里的加载数据完成不是指从远程或本地获得数据完成,而是在获取数据并解析完成datagrid,包括已经完成所有columns中的formatter属性,因此可以在onLoadSuccess事件中解析linkbutton组件。
因此在easyui datagrid中formatter数据后使用linkbutton可采用如下方法:
onLoadSuccess事件中解析linkbutton组件:
onLoadSuccess:function(data){
$(".sz_button").linkbutton({
text:'设置',
plain:true,
iconCls:'icon-edit'
});
$(".ll_button").linkbutton({
text:'设置',
plain:true,
iconCls:'icon-search'
});
}