热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

子表行添加和子表行自动填充

提交后Activity4新

//=========================================================================提交后Activity4新增目标表单物资信息================================================================================================================
if(childPaCategory != null && childPaCategory.Length > 0)
{
foreach(H3.DataModel.BizObject child in childPaCategory)
{
//供应商名称主表赋值给子表
if((child["nameMaterial"] + string.Empty != null || child["nameMaterial"] + string.Empty != "") && (child["supplier"] + string.Empty == null || child["supplier"] + string.Empty == "")
&& (this.Request.BizObject["joinPersonnel"] + string.Empty != null || this.Request.BizObject["joinPersonnel"] + string.Empty != ""))
{
child[
"supplier"] = this.Request.BizObject["joinPersonnel"] + string.Empty;
}
}
}
// 新增物资的方法,在审批供应商时加载出所有数据
if(actiOnName== "Submit" && this.Request.ActivityCode == "Activity4")
{
if(childPaCategory != null && childPaCategory.Length > 0)
{
// 加一个list集合,将数据添加至集合中
List list = new List();
//判断子表数据是否为空,不为空则保存
if(childBoList != null)
{
//先将原来的子表数据存起来
list.AddRange(childBoList);
}
foreach(H3.DataModel.BizObject child in childPaCategory)
{
//new物资目录一个对象
H3.DataModel.BizObject targetBoCategory3 = new H3.DataModel.BizObject(this.Engine, schemaCategory3, this.Request.UserContext.UserId);
//物资名称
targetBoCategory3["nameMaterial"] = child["nameMaterial"] + string.Empty;
//规格型号
targetBoCategory3["specification"] = child["specification"] + string.Empty;
//物资出厂码
targetBoCategory3["MaterialFactoryCode"] = child["F1"] + string.Empty;
//物资类别
targetBoCategory3["categoryName1"] = child["categoryName1"] + string.Empty;
//物资类别负责人
targetBoCategory3["principal"] = child["principal"] + string.Empty;
//供应商名称
targetBoCategory3["joinPersonnel"] = child["supplier"] + string.Empty;
//计量单位
targetBoCategory3["measurement"] = child["measuringUnit"] + string.Empty;
//设置业务对象数据为生效状态
targetBoCategory3.Status = H3.DataModel.BizObjectStatus.Effective;
//目标表单创建
targetBoCategory3.Create();
//=========================================================================提交后Activity4更新本表单物资信息================================================================================================================
string sqlchildBo = "select * from i_D150516category3 where ObjectId='" + targetBoCategory3.ObjectId + "'";
System.Data.DataTable dt
= this.Request.Engine.Query.QueryTable(sqlchildBo, null);
foreach(System.Data.DataRow row in dt.Rows)
{
//new一个采购清单业务对象
H3.DataModel.BizObject childBoList1 = new H3.DataModel.BizObject(this.Request.Engine, schemation.GetChildSchema("D150516shoppingList"), H3.Organization.User.SystemUserId);
{
//数据添加采购清单
//规格型号
childBoList1["specifications"] = row["ObjectId"];
//物资名称
childBoList1["materialName"] = row["nameMaterial"];
//物资出厂码
childBoList1["MaterialFactoryCode"] = row["MaterialFactoryCode"];
//物资编码
childBoList1["MaterialFactoryCodes"] = row["SeqNo"];
//物资类别
childBoList1["categoryName1"] = row["categoryName1"];
//计量单位
childBoList1["measuringUnit"] = row["measurement"];
list.Add(childBoList1);
}
//将新的子表数据集合赋值到子表控件
targetBoPA["D150516shoppingList"] = list.ToArray();
//更新主表数据
targetBoPA.Update();
}
}
}
}

 写在base.OnSubmit(actionName, postValue, response);后面以免照成新增后,目标子表无法被自动填充

objectid根据目标新建表单获得对应的数据id

一条数据填充一条子表行,因此要放在同一个循环中

要和清除子表行合作使用,否则会有一个空白行

 



推荐阅读
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 图数据库中的知识表示与推理机制
    本文探讨了图数据库及其技术生态系统在知识表示和推理问题上的应用。通过理解图数据结构,尤其是属性图的特性,可以为复杂的数据关系提供高效且优雅的解决方案。我们将详细介绍属性图的基本概念、对象建模、概念建模以及自动推理的过程,并结合实际代码示例进行说明。 ... [详细]
  • C# LiNQ 查询 join连接
    C# LiNQ 查询 join连接 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍如何利用动态规划算法解决经典的0-1背包问题。通过具体实例和代码实现,详细解释了在给定容量的背包中选择若干物品以最大化总价值的过程。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
author-avatar
宛雨万青惠雯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有