Toggle navigation
首页
产品中心
全新RDIF.vNext低代码框架
镇店
.NET C/S开发框架
.NET Web敏捷开发框架
.NET 快速开发框架(全新EasyUI版本)
.NET 代码生成器
.NET WebAPI服务端开发框架
客户案例
付款方式
技术文章
文档中心
下载
关于
首页
技术文章
RDIF.NET
正文
原创
2021-02-25
浏览 (
20500
)
RDIFramework.NET V3.3 WinForm版新增订单管理主从表事例
## 功能描述 ## 无论什么系统,除了常规的单表处理外,主从表的应用都是非常普遍的,RDIFramework.NET V3.3 WinForm版本中新增了一个主从表的事例供大家参考。主从表的界面设计大同小异,主要还是在处理CRUD操作时的一些特殊性,如:新增、修改、删除操作要放在同一事务提交,删除主表数据,从表对应数据也应相应删除等。主从表一般涉及两个以上的表,一个是主表,其他的是从表的,在实际情况下,一般包含两个表较多,下面我们以两个表的主从表关系进行分析展示。 ## 订单管理主从表关系结构图 ##  ## 功能展示 ## 对于订单管理主从表结构信息,主界面展示分为两部分:一部分是主表信息,一部分是从表信息,单击主表对应信息后,显示对应从表的列表信息,如下图所示。  新增产品如下图所示,丰富的控件展示,列表直接编辑,自动计算并汇总等实用功能。     打印功能:  ## 核心功能代码参考 ## **编辑界面保存代码参考** 在编辑界面不仅可以新增数据,还可以编辑数据,调用相同的保存数据的方法。 ``` //保存数据 private void btnSave_Click(object sender, EventArgs e) { if (!this.Changed) { //数据未被修改过就直接返回即可 this.DialogResult = DialogResult.OK; this.Close(); } else { CaseOrderEntity orderEntity = GetFormOrderEntity(); grdOrderDetail.FocusedView.CloseEditor(); var orderDetailList = new List<CaseOrderDetailEntity>(); for (int i = 0; i < this.gridViewOrderDetail.RowCount; i++) { var detailInfo = gridViewOrderDetail.GetRow(i) as CaseOrderDetailEntity; detailInfo.OrderId = orderEntity.Id; if (detailInfo != null) { orderDetailList.Add(detailInfo); } } try { int returnValue = caseOrderService.SaveOrder(this.UserInfo, OrderId, orderEntity, orderDetailList); if (returnValue > 0) { MessageBoxHelper.ShowSuccessMsg(RDIFrameworkMessage.MSG0011); this.DialogResult = DialogResult.OK; this.Close(); OnFormClosedRefreash?.Invoke(); } } catch (Exception ex) { ProcessException(ex); } } } ``` **保存数据服务实现参考** ``` /// <summary> /// 新增或修改 /// </summary> /// <param name="userInfo">用户</param> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <param name="detailEntitys">明细对象</param> /// <returns></returns> public int SaveOrder(UserInfo userInfo, string keyValue, CaseOrderEntity entity, List<CaseOrderDetailEntity> detailEntitys) { int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, "SaveOrder-新增或修改"); ServiceUtil.ProcessBusinessDbWithTran(userInfo, parameter, dbProvider => { if (!string.IsNullOrEmpty(keyValue)) { //主表 var manager = new CaseOrderManager(dbProvider, userInfo); entity.Id = keyValue; returnValue = manager.UpdateEntity(entity); //明细表 var managerDetail = new CaseOrderDetailManager(dbProvider, userInfo); managerDetail.Delete(new KeyValuePair<string, object>(CaseOrderDetailTable.FieldOrderId, keyValue)); foreach(CaseOrderDetailEntity orderDetail in detailEntitys) { orderDetail.OrderId = keyValue; orderDetail.Enabled = 1; orderDetail.DeleteMark = 0; managerDetail.Add(orderDetail); } } else { //主表 var manager = new CaseOrderManager(dbProvider, userInfo); entity.Enabled = 1; entity.DeleteMark = 0; string orderKey = manager.Add(entity); returnValue = string.IsNullOrEmpty(orderKey) ? 0 : 1; //明细表 var managerDetail = new CaseOrderDetailManager(dbProvider, userInfo); foreach (CaseOrderDetailEntity orderDetail in detailEntitys) { orderDetail.OrderId = orderKey; orderDetail.Enabled = 1; orderDetail.DeleteMark = 0; managerDetail.Add(orderDetail); } } }); return returnValue; } ``` -----  - [全新跨平台版本.NET敏捷开发框架-RDIFramework.NET5.0震撼发布](http://www.guosisoft.com/article/detail/241) - [RDIFramework.NET敏捷开发框架助力企业BPM业务流程系统的开发与落地](http://www.guosisoft.com/article/detail/251) - [通过SignalR技术整合即时通讯(IM)在.NET敏捷开发框架中落地](http://www.guosisoft.com/article/detail/252) - [RDIFramework.NET WinForm版新增通知公告、系统新闻模块](http://www.guosisoft.com/article/detail/254) - [RDIFramework.NET Web版报表管理-助力企业高效智能图表](http://www.guosisoft.com/article/detail/255) - [RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录](http://www.guosisoft.com/article/detail/190) - [RDIFramework.NET敏捷开发框架 ━ 工作流程组件介绍](http://www.guosisoft.com/article/detail/233) - [RDIFramework.NET敏捷开发框架 ━ 工作流程组件Web业务平台](http://www.guosisoft.com/article/detail/256) - [RDIFramework.NET敏捷开发框架 ━ 工作流程组件WinForm业务平台](http://www.guosisoft.com/article/detail/172) - [微信公众号开发系列-玩转微信开发-目录汇总](http://www.guosisoft.com/article/detail/216) - [史上最全面的SignalR系列教程-目录汇总](http://www.guosisoft.com/article/detail/230) - [RDIFramework.NET敏捷开发框架通过SignalR技术整合即时通讯(IM)](http://www.guosisoft.com/article/detail/229) - [RDIFramework.NET框架基于Quartz.Net实现任务调度详解及效果展示](http://www.guosisoft.com/article/detail/221) - [RDIFramework框架整合微信开发应用效果展示](http://www.guosisoft.com/article/detail/219) ----- 一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。 RDIFramework.NET官方网站:[http://www.rdiframework.net/](http://www.rdiframework.net/) [http://www.guosisoft.com/](http://www.guosisoft.com/) 特别说明,框架相关的技术文章请以官方网站为准,欢迎大家收藏! RDIFramework.NET框架由海南国思软件科技有限公司专业团队长期打造、一直在更新、一直在升级,请放心使用! 欢迎关注RDIFramework.NET框架官方微信公众号(微信号:**guosisoft**),及时了解最新动态。 使用微信扫描二维码立即关注 
正文到此结束
本文标签:
.NET
RDIF.NET
版权声明:
本站原创文章,由
guosisoft.com
发布,遵循
CC 4.0 by-sa
版权协议,转载请附上原文出处链接和本声明。
上一篇
RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件WinForm业务平台
下一篇
RDIFramework.NET敏捷开发框架 ━ 工作流程组件介绍
热门推荐
{{article.title}}
热门指数:
浏览({{article.lookCount + 5000}})
相关文章
{{article.title}}
该篇文章的评论功能暂时被站长关闭
说给你听
本文目录
文章标签
RDIF.NET
其他
微信开发
.NET
消息交互
.NetCore
项目管理
常用工具
工作流
Web前端
数据库
挨踢业界
随机文章
mysql导入大量数据时报MySQL server has gone away错误的解决办法
Visual Studio 2015官方汇总包括下载和视频
后台界面设计之表格设计规范参考
RDIFramework.NET V3.3 Web版新增日程管理功能模块
实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-Web
【保姆级教程】Vue项目调试技巧
Quartz.Net实现作业定时调度详解
RDIFramework.NET—.NET快速开发整合框架【开发实例】之产品管理(WinForm版)
VS依赖注入(DI)构造函数自动生成局部私有变量
Vue 前端开发团队风格指南(史上最全)
.NET敏捷开发框架-RDIFramework.NET V5.1发布(跨平台)
C#实现Hash应用全解
史上最全面的SignalR系列教程-目录汇总
微信公众号开发C#系列-12、微信前端开发利器:WeUI
RDIFramework.NET平台代码生成器V3.1.6125.27586全新发布-更新于20161029(提供下载)
微信公众号开发C#系列-6、消息管理-普通消息接受处理
你必知道的 Chrome 前端调试技巧
RDIFramework.NET—.NET快速开发整合框架【开发实例】之产品管理(MVC版)
SQLServer低版本附加高版本的数据库常用处理方法
WinForm(C/S)项目中使用矢量字体(FontAwsome、Elegant)图标
网站信息
文章总数:599 篇
标签总数:8 个
分类总数:8 个
留言数量:1385 条
在线人数:
89
人
运行天数:1321天
最后更新:2023-05-18
QQ:406590790
13005007127