免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1281 | 回复: 0
打印 上一主题 下一主题

在iMatrix平台中如何设置表单显示标签(grid:formView) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-16 11:11 |只看该作者 |倒序浏览
本帖最后由 imatrix开发平台 于 2014-06-16 11:11 编辑

表单显示标签(grid:formView)

1.1        表单标签基础用法:
1.        首先在【系统元数据管理】【表单管理】【数据表管理】中录入数据表,并且启用该数据表,该数据表一旦启用会在【表单管理】 中生成一条对应该数据表的表单数据。然后在此表单数据中增加表单信息。(具体操作请参考”iMatrix平台开发手册-功能”)如下图所示:

2.        在jsp页面中引入
<script src="${resourcesCtx}/widgets/validation/dynamic.validate.js" type="text/javascript"></script>

<grid:formView code=” ES_ORDER” entity =”${entity}”></grid:formView>
参数说明:
code:必填。表单编号,【系统元数据管理】表单管理中定义的表单的编号。
version:可选。表单的版本。默认为启用的表单的最高版本。
collection:可选。集合。例如订单和商品之间,如果没有配关系,商品中只是保存了订单的id,则需要通过订单id获得商品列表;如果配了关系,则不需要此参数,通过entity即可得到商品列表。
entity: 必填。当前表单实体。

页面如下图所示:


3.        若该表单中含有标准列表,保存该表单前,请先调用iMatrix.getSubTableDatas(formId);否则不用执行此步骤。
formId:提交的表单的id
4.        若该表单中含有标准列表,请执行以下操作,否则不用执行此步骤。
Java的service中,调用JsonParser.getFormTableDatas(Class class);class:为子表实体对应的类,返回子表实体集合,如下:
public void saveOrder(Order order){
orderDao.save(order);
                List<OrderItem> items=new ArrayList<OrderItem>();
List<Object> objects=
ParseJsonUtil.getFormTableDatas(OrderItem.class); //保存子表实体
                for(Object objbjects){
OrderItem orderItem=(OrderItem)obj;
                                orderItem.setOrder(order);
                                orderItem.setCompanyId(contextService.getCompanyId());
                                orderItem.setCreatedTime(new Date());
                                orderItem.setCreator(contextService.getUserName());
                                orderItemDao.save(orderItem);
                                items.add(orderItem);
                        }
                        order.setOrderItems(items);
}
1.2        表单页面主子表的使用
以demo中订单主子表中表单标签为例:在【系统元数据管理】【表单管理】对应表单中画表单,添加标准列表控件,设置属性值:
1.2.1        属性说明
对应字段:选择子表对应的字段,即主表中配置子表关系的字段;
对应列表:应选择子表在列表管理中对应的列表:此列表要设置成可编辑的;

   属性设置:  

1.2.2        页面使用
在新建表单页面上使用grid:formView标签,会自动把“订单项”这个控件解析成grid:formGrid列表;

主子表都在表单中,只需使用表单标签:
<grid:formView code="ES_ORDER_FORMVIEW" entity="${order}"></grid:formView>
保存前调脚本:
var cansave = getSubTableDatas("expenseReportForm";
返回值cansave为true时,表示子表数据获取成功,继续执行保存;
参数说明:
expenseReportForm为提交表单form名称;
后台获取子表数据:
OrderManager中saveOrder方法中:
public void saveOrder(Order order){
                orderDao.save(order);
                List<OrderItem> items=new ArrayList<OrderItem>();
                List<Object> objects=JsonParser.getFormTableDatas(OrderItem.class);
                for(Object objbjects){
                        OrderItem orderItem=(OrderItem)obj;
                        orderItem.setOrder(order);
                        orderItemDao.save(orderItem);
                        items.add(orderItem);
                }
                order.setOrderItems(items);
        }


关于标签更详细的资料可以到官网下载:http://www.imatrix.net.cn
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP