在iMatrix平台中如何设置表单显示标签(grid:formView)

表单显示标签(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 voidsaveOrder(Order order){

orderDao.save(order);

    List<OrderItem> items=new ArrayList<OrderItem>();

List<Object>objects=

ParseJsonUtil.getFormTableDatas(OrderItem.class); //保存子表实体

        for(Object obj:objects){

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:formViewcode="ES_ORDER_FORMVIEW"entity="${order}"></grid:formView>

保存前调脚本:

varcansave = getSubTableDatas("expenseReportForm");

返回值cansave为true时,表示子表数据获取成功,继续执行保存;

参数说明:

expenseReportForm为提交表单form名称;

后台获取子表数据:

OrderManager中saveOrder方法中:

publicvoid saveOrder(Order order){

        orderDao.save(order);

        List<OrderItem> items=newArrayList<OrderItem>();

        List<Object>objects=JsonParser.getFormTableDatas(OrderItem.class);

        for(Object obj:objects){

            OrderItem orderItem=(OrderItem)obj;

            orderItem.setOrder(order);

            orderItemDao.save(orderItem);

            items.add(orderItem);

        }

        order.setOrderItems(items);

    }

 

 

关于标签更详细的资料可以到官网下载:http://www.imatrix.net.cn

    如有使用iMatrix平台问题请登录iMatrix平台论坛咨询:

   http://bbs.imatrix.net.cn/forum.php?mod=forumdisplay&fid=37

    或者加入QQ群307599527

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值