关于在datagridTag中使用attributes的说明

1.在部门表中,系统提供的功能只有序号,名称,说明,上下级功能,展示使用的是treegrid控件,但是treegrid控件还具有显示其他数据功能,我想扩展该功能,显示如负责人,或者办公室联系电话等信息。
2.在TreeGridModel中增加(private String attributes;// 其他参数)属性,用来表示附加字段,多个字段使用逗号分隔。
3.在DepartController中的departgrid中增加(treeGridModel.setAttributes("fzr, lxdh");)。
4.在CommonDao中的treegrid中增加(
           if(StringUtils.isNotEmpty(treeGridModel.getAttributes())){
                @SuppressWarnings("unchecked")
                Map<String,String> attributes = new HashMap<String, String>();
                String[] fields = treeGridModel.getAttributes().split(",");
                for (String field:fields){
                    attributes.put(field, oConvertUtils.getString(reflectHelper.getMethodValue(field)));
                }
                tg.setAttributes(attributes);
            }
)将all中的数据,根据treeGridModel中的设置,将附加数据形成字典方式存放在TreeGrid列表中。
5.在departList.jsp文件中,增加(
<t:dgCol title="负责人" field="fzr" treefield="attributes.fzr"></t:dgCol>
<t:dgCol title="联系电话" field="lxdh" treefield="attributes.lxdh"></t:dgCol>
)。
6.但是这样数据还是显示不出来的,因为jquery.easyui.min.1.3.2.js中针对treegrid的数据获取,在9562行,数据是使用数组方式取到的,而增加的附加数据无法使用数组方式获取,必须使用类的方式获取,特增加一行:if (val == undefined) val = eval("row."+_721); 表示如果数组方式获取不到,则使用类的方式获取。这里仅处理了不带formatter的数据回显,针对格式化函数中的数据处理,因为formatter的函数格式是formatter(val, row) ,这里的val应该也是undefined,但是可以使用row中的值获取到。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值