首页 > 代码库 > easyui datagrid columns 如何取得json 内嵌对象(many-to-one POJO class)
easyui datagrid columns 如何取得json 内嵌对象(many-to-one POJO class)
http://www.iteye.com/problems/44119
http://hi.baidu.com/lapson_85/item/7733586e60b08500a1cf0f8d
————————————————————————————————————————————————————————————————————————————————————————
1. json的数据格式:
var map = {"uname":‘‘,"upwd":‘‘,"role":{“rolename”:‘‘,"roleLevel":‘‘}}
把这个json格式绑定到datagrid的filed属性上:
columns : [ [
{
field : uname,
title : uname,
width : 200,
rowspan : 2,
align : ‘center‘
},{
field : upwd,
title : upwd,
width : 80,
rowspan : 2,
align : ‘center‘
}, {
field :‘ role.rolename’ ,
title : ‘角色名称‘,
width : 100,
rowspan : 2,
align : ‘center‘
}, {
field : ‘role . roleLevel’ ,
title : ‘等级‘,
width : 80,
rowspan : 2,
value : 1,
align : ‘center‘
}]]
jquery easyui 是不支持嵌套对象的数据转化的。。比如:(role.roleLevel)
我们必须修改源代码:
我的用的是appendRow 和updateRow 2个方法。所以修改这2个方法的赋值地方
如果用到appendRow:
//cc.push(_571[_573]); --源代码 7062行
改为:
cc.push(eval("_571[‘"+_573.replace(/\./g,"‘][‘")+"‘]"));
如果用到updateRow :
//cell.html(rows[_57a][_57b]); -- 源代码 7638行
改为:
cell.html(eval("rows[_57a][‘"+_57b.replace(/\./g,"‘][‘")+"‘]"));
注意:我的jquery easyui 的版本为1.2.6的版本
请加qq群:100969361
——————————————————————
{field:‘productType‘,title:‘产品类别‘,width:160,formatter:function(value,rowData,rowIndex){ //可以试试这个对不对 //return value.prodType; return rowData.productType.prodType; }},
easyui datagrid columns 如何取得json 内嵌对象(many-to-one POJO class)