BPM实例方案分享:表单子表自动填入数据

软件环境: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();

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值