easyUI 列表展示 formatter
<table id="dg" class="easyui-datagrid" pageSize="20"
toolbar="#toolbar" pagination="true" idField="openId"
rownumbers="true" fitColumns="true" singleSelect="true"
url="alipay_user/list.json">
<thead>
<tr>
<th field="openId">支付宝id</th>
<th field="name">用户名</th>
<th field="alipayUser" formatter="managerName">姓名</th>
<th field="alipayUser" formatter="managerInNum">身份证号</th>
<th field="alipayUser.cardNum">社保卡号</th>
<th field="createTime">注册时间</th>
<th field="bizCode">所属业务点</th>
</tr>
</thead>
</table>
function managerName(val, row) {
alert(0);
if (val != null && val != "") {
return row.alipayUser.name;
} else {
return "";
}
}
function managerInNum(val, row) {
if (val != null && val != "") {
alert(1);
return row.alipayUser.inNum;
} else {
return "";
}
}
结果没有执行managerInNum方法,而是执行了两次managerName方法
返回数据如下
{"success":true,"rows":[{"id":1,"name":"aaa","openId":"aaa","bizCode":"",
"alipayUser":{"id":1,"cardNum":"123456","inNum":"33376779238479234","name":"张三"},
"createTime":"2015-06-30 10:21:08"}],"total":1}
我想知道 怎么写才能正确显示列表数据
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
已经解决,datagrid的列中本来就不能显示row中的对象里的属性,需要对它进行扩展,http://bbs.csdn.net/topics/390377625
引用来自“朱宏青”的评论
没看懂你这什么意思
你这两个的field都是alipayUser 肯定是不行的
<th field="alipayUser.name" formatter="managerName">姓名</th> <th field="alipayUser.inNum" formatter="managerInNum">身份证号</th> 我改成这样,就什么都不显示
回复
在我印象里 easyUI 好像不支持 . 语法 只会拿第一层的数据进行操作 你把复合对象拆出来试试
没看懂你这什么意思
你这两个的field都是alipayUser 肯定是不行的
你发的链接是有固定值的情况下,可以判断;我的对象是没有固定值的不知道要怎么判断。
回复
<th data-options="field:'alipayUser',formatter:function(value){if (value != null && value != "") { return value.name; } else { return ""; }}">身份证号</th>
http://www.colabug.com/thread-1124520-1-1.html