Input框中name值域实体字段对应,里边样式是默认样式,可以手动写样式添加,每一行可以自由设置显示字段个数,div和table的id固定,不能自定义改变。 1.2 查询事件列表中普通查询和高级查询可添加事件,在【系统元数据管理】à【列表管理】,选择相应列表,修改基本信息,查询设置中可添加事件:单击事件、下拉框切换、失去焦点事件,如图: 设置完后,需在列表所在页面添加脚本,方法名命名规则为“字段名”+QueryClick、“字段名”+QueryChange、“字段名”+QueryBlur,假设字段名为attrName,则事件为如下: function attrNameQueryClick(id){} function attrNameQueryBlur(id){} function attrNameChange(id){} 1.3 列表的多表查询普通列表中取得数据一般是根据HQL查询,如果列表数据需要从多张数据表中取,HQL满足不了,则需要使用SQL的方式取数据,使用SQL不能绑定实体,一般是一对一或者多对一的形式,需要手动在后台拼sql,以demo中“订单组合列表”为例,方法如下: 1. 在【系统元数据管理】à【数据表管理】中新建表ES_ITEM_COMBINE_ORDER如图4-1: 说明:图4-2基本信息中,“数据库表名称”自己定义,不对应数据库中实际表名,“实体类名”也是自己定义。 图4-3中orderItem是订单字表的别名,自己定义,o是订单主表别名,orderItem.product_name 是子表中字段,product_name对应数据库中表的实际字段名称。 图4-1 图4-2 图4-3 1. 列表中标签如下 2. 后台action @Action("order-combine-data") publicString combineData(){ combinePage= orderItemManager.getCombinePage(combinePage); renderText(PageUtils.pageToJson(combinePage).replace("orderItem.id","id")); return null; } 注意:combinePage定义成object:private Page 需要在转json时添加.replace("orderItem.id", "id")),如果不替换jQuery('#orderItemList').getGridParam('selarrrow')取得的是行序号,而不是对应记录的id。 3. dao中: public Page StringpartSql =ApiFactory.getMmsService().getColumnsByCode("ES_ITEM_COMBINE_ORDER"); StringBuildersql = new StringBuilder("select "); sql.append(partSql); sql.append("from ES_ORDER_ITEM orderItem "); sql.append("leftjoin ES_ORDER o on orderItem.FK_ORDER_ID = o.id "); sql.append("whereorderItem.company_id=? "); returnthis.searchPageBySql(combinePage, sql.toString(),ContextUtils.getCompanyId()); } 说明:ES_ITEM_COMBINE_ORDER对应的是列表管理的编码,orderItem和o是上述(1)中自己定义的别名! 如果列表没出来,调试一下看后台是否报错,如果报错将sql语句在数据库中执行查看是否有误! 4. 列表如下: |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
12112 浏览 2 评论
4449 浏览 3 评论
3678 浏览 5 评论
9434 浏览 47 评论
4455 浏览 9 评论
679浏览 0评论
483浏览 0评论