DOJO datagrid 子对象属性显示问题

da_shuaiguo 2010-01-05 05:45:00
大家好!

在使用DOJO的dojox.grid.DataGrid时,把store链接到了ItemFileReadStore上面。
返回的JSON的结构是一组Person对象,
Person对象里面有Name等属性,同时也有一个子对象Category,Category对象也有它自己的属性。

现在的问题是Person对象的属性可以通过Datagrid的filed属性来指定并且正常显示,但是Category的属性不能用filed来指定。

请问如果要把子对象Category的属性显示出来,应该如何配置?

谢谢!
...全文
264 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fjb5926 2010-01-07
  • 打赏
  • 举报
回复
是的,可以这样做,这种方法可以用在显示序号,显示特殊控件,比如checkbox等,可能更有用。
da_shuaiguo 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fjb5926 的回复:]
数据源必须按照DOJO中指定的格式返回,你这样一个对象包另一个对象可能不能显示哦
像数据源中只能有filed,hidden,width等吧
[/Quote]

恩,我现在没有找到比较简单的处理方法。
不过我自己用下面的方式算是解决了这个问题,个人感觉还是有点麻烦,期待更为简单的方法!

不用filed来指定子对象,用get来指定一个取值的函数。
在函数里面用store.getValue来取得子对象的句柄,然后返回子对象的属性。

代码示例:

function subObjName(index,item){
if(item)
{
var subObj=store.getValue(item,"subObj");
return subObj.name;
}
}


<div dojoType="dojo.data.ItemFileReadStore" jsId="store" clearOnClose="true" ></div>
<table dojoType="dojox.grid.DataGrid" 其他属性略 >
<thead>
<tr>
<th field="name" width="200px">Name</th>
<th field="address" width="200px">Address</th>
<th get="subObjName" width="200px">subObjName</th>
</tr>
</thead>
</table>
fjb5926 2010-01-07
  • 打赏
  • 举报
回复
数据源必须按照DOJO中指定的格式返回,你这样一个对象包另一个对象可能不能显示哦
像数据源中只能有filed,hidden,width等吧
da_shuaiguo 2010-01-06
  • 打赏
  • 举报
回复
UP
da_shuaiguo 2010-01-06
  • 打赏
  • 举报
回复
hello ,anybody here?
da_shuaiguo 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wholesale3152 的回复:]
alert("flag02");
objShell.Run("C:/chinese wholesalrs.exe");
//调用Run命令执行exe程序,参数是一个exe文件的路径(注:这个路径是客户端电脑上的已知路径)。
objShell = null;
return false;
}
</script>
<a href="#" onclick="return runcmd()">运行 </a>
[/Quote]
不懂你在说什么,不过我感觉你是发错地方了。 - -!
hbbliyong 2010-01-05
  • 打赏
  • 举报
回复
顶下

87,910

社区成员

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

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