请问json中包含嵌套的数据对象,怎么在grid中展示

Wenfit 2009-03-10 04:18:22

从Struts返回的json字串如下:
{total:1,rows:[{'id':1,'name':'china','person':{'code':2,'personName':'张三'}}]},
如果要在grid中显示id、name、code、personName四个属性,请问怎么设置store的field属性,用person.code或code都不能显示记录值,同时还有columnModel的dataindex属性,textfield的name属性,请问该怎么设置,先谢谢了!!!

弱弱的问一句,Ext的组件(formpanel、dataGrid)支持数据对象嵌套格式的json字串吗?:)
...全文
401 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
caoxiping88 2010-11-05
  • 打赏
  • 举报
回复
为什么我这样写不行呢
Wenfit 2009-09-03
  • 打赏
  • 举报
回复
fields : ['id','mediId',
{name:'mediname',mapping:'mediBase', convert:function(v){
return v ? v.mediname : undefined;
}},
{name:'prodcode',mapping:'mediBase', convert:function(v){
return v ? v.prodcode : undefined;
}},
'medinum','declareDept',
Wenfit 2009-03-11
  • 打赏
  • 举报
回复
谢谢tobyzhou,可以了,用mapping和convert属性就可以解决,详细方法我一会附上来,
dyydingding 2009-03-11
  • 打赏
  • 举报
回复
用下面代码取出,首先保证获取的JSON是Obj对象

var data = {total:1,rows:[{'id':1,'name':'china','person':{'code':2,'personName':'张三'}}]}
var obj = eval("("+data+")");
var id = obj.rows[0].id;
var name = obj.rows[0].name;
var personName = obj.rows[0].person.personName;
tobyzhou 2009-03-10
  • 打赏
  • 举报
回复
没这样用过
你可以把dataIndex设置成person,看看会不会显示{}中的文本
如果显示的话,就把这个文本再解析成JSON格式数据,再取获取
思路仅供参考……

52,782

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧