easyUI 列表展示 formatter

狂龙一声笑 发布于 2015/07/02 18:33
阅读 1K+
收藏 0

<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}

 

我想知道 怎么写才能正确显示列表数据

 

 

加载中
0
alexgaoyh
alexgaoyh
alexgaoyh
回复 @狂龙一声笑 : <th data-options="field:'alipayUser',formatter:function(value){if (value != null && value != "") { return value.name; } else { return ""; }}">身份证号</th>
狂龙一声笑
你发的链接是有固定值的情况下,可以判断;我的对象是没有固定值的不知道要怎么判断。
0
朱宏青
朱宏青

没看懂你这什么意思

你这两个的field都是alipayUser 肯定是不行的

朱宏青
朱宏青
回复 @狂龙一声笑 : 在我印象里 easyUI 好像不支持 . 语法 只会拿第一层的数据进行操作 你把复合对象拆出来试试
狂龙一声笑
<th field="alipayUser.name" formatter="managerName">姓名</th> <th field="alipayUser.inNum" formatter="managerInNum">身份证号</th> 我改成这样,就什么都不显示
0
laigous
laigous

引用来自“朱宏青”的评论

没看懂你这什么意思

你这两个的field都是alipayUser 肯定是不行的

楼主是对的。把field改成不一样的
0
狂龙一声笑
已经解决,datagrid的列中本来就不能显示row中的对象里的属性,需要对它进行扩展,http://bbs.csdn.net/topics/390377625
返回顶部
顶部