博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BPM实例方案分享:表单子表自动填入数据
阅读量:7125 次
发布时间:2019-06-28

本文共 1274 字,大约阅读时间需要 4 分钟。

软件环境:H3 BPM 9.2.7

 

业务需求:

现在想要实现一个效果:在打开表单、选择合同阶段后能够读取后台数据,将多行数据自动填入下方的子表。

 

本文将用三种方法实现自动填入子表的功能。

 

方法一

前台使用如下几个函数就可以实现了,在合同的onchange事件获取数据以后处理。

 

复制代码

//获取子表

var dtl = $.MvcSheetUI.GetElement("子表名").SheetGridView();

  

//增加子表行

dtl.addbtn.click();  或 dtl._AddRow();

  

//设置子表明细数据

$.MvcSheetUI.SetControlValue("子表字段名", "", row);

 

 

方法二:

或者使用后台处理数据的方式

 

复制代码

// 执行后台事件

            $.MvcSheet.Action(

                {

                    Action: "TestAction",   // 后台方法名称

                    Datas: ["输入参数"],    // 输入参数,格式 ["{数据项名称}","String值","控件ID"],当包含数据项名称时 LoadControlValue必须为true

                    LoadControlValue: true, // 是否获取表单数据

                    PostSheetInfo: true,    // 是否获取已经改变的表单数据

                    OnActionDone: function (e) {

                        // 执行完成后回调事件

                    }

                }

 

 

后台方法里面直接修改ActionContext.InstanceData["子表名"]中的数据。

 

 

方法三:后台添加

 

复制代码

public override MvcViewContext LoadDataFields()

{

    if (this.ActionContext.IsOriginateMode)

           {

            BizObject[] bizObjects = new BizObject[数组长度];

            BizObjectSchema childSchema = this.ActionContext.Schema.GetProperty("子表编码").ChildSchema;

             for (int i = 0; i < DataTable0.Rows.Count; i++)

                           {

                               bizObjects = new BizObject(this.ActionContext.Engine, childSchema, this.ActionContext.User.UserID);

                               bizObjects["字段编码"] = "";

                               bizObjects["字段编码"] = "";

  

                           }

            this.ActionContext.InstanceData["子表编码"].Value = bizObjects;

           }

           return base.LoadDataFields();

}

本文转自 lwl_BPM  51CTO博客,原文链接:http://blog.51cto.com/12438115/1926642,如需转载请自行联系原作者
你可能感兴趣的文章
scrollLeft、offsetLeft、clientLeft、clientHeight详解
查看>>
SQL 到 NOSQL 的思维转变
查看>>
Let's Encrypt,免费好用的 HTTPS 证书
查看>>
for
查看>>
Centos搭建nginx环境,编译,添加服务,开机启动。
查看>>
ubuntu下规避终端打开gvim出现的错误
查看>>
Redis学习——Linux环境下Redis的安装(一)
查看>>
C++继承
查看>>
Android Fragment 真正的完全解析(上)
查看>>
手机APP支付--整合支付宝支付控件
查看>>
架构设计:负载均衡层设计方案(3)——Nginx进阶
查看>>
java获取当前时间戳的方法
查看>>
Struts2中Struts.xml的作用
查看>>
5.迪米特法则
查看>>
1.mysql ERROR 1045 (28000): 错误解决办法
查看>>
get和post区别
查看>>
MySQL学习资源
查看>>
VS2017 常用快捷键
查看>>
iOS在不支持横屏情况下,实现播放器全屏播放
查看>>
bzoj 4598: [Sdoi2016]模式字符串
查看>>