关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、418799587 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 12113|回复: 0

关于在TreegridTag中使用attributes的说明

[复制链接]
发表于 2013-6-21 10:01:19 | 显示全部楼层 |阅读模式
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中的值获取到。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表