发 帖  
[讨论]

如何设置iMatrix平台中列表标签(gridjqGrid)的查询

2014-4-24 13:49:21  2325
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 combinePage;
     需要在转json时添加.replace("orderItem.id", "id")),如果不替换jQuery('#orderItemList').getGridParam('selarrrow')取得的是行序号,而不是对应记录的id。
3.  dao中:
public PagegetCombinePage(Page combinePage) {
     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.       列表如下:
1.4    子表查询
列表页面为主子表形式时,若想要根据子表的字段进行查询,请按照以下步骤进行数据的设置:
第一步:在【系统元数据管理】à【数据表管理】中选择列表页面主表的数据表进行修改。
第二步:在【字段信息】中添加子表的字段信息,并且保存。如图:
第三步:在【列表管理】à【字段信息】中用户可根据自己的需求修改该字段子列表页面的显示形式。如图:

0
2014-4-24 13:49:21   评论 分享淘帖 举报

只有小组成员才能发言,加入小组>>

520个成员聚集在这个小组

加入小组

创建小组步骤

快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

站长推荐 上一条 /7 下一条

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