Toggle navigation
首页
产品中心
全新RDIF.vNext低代码框架
镇店
.NET C/S开发框架
.NET Web敏捷开发框架
.NET 快速开发框架(全新EasyUI版本)
.NET 代码生成器
.NET WebAPI服务端开发框架
客户案例
付款方式
国思学堂
技术文章
新闻资讯
下载
关于
首页
技术文章
RDIF.NET
正文
原创
2021-02-25
浏览 (
16400
)
RDIFramework.NET V3.3 WinForm版新增订单管理主从表事例
## 功能描述 ## 无论什么系统,除了常规的单表处理外,主从表的应用都是非常普遍的,RDIFramework.NET V3.3 WinForm版本中新增了一个主从表的事例供大家参考。主从表的界面设计大同小异,主要还是在处理CRUD操作时的一些特殊性,如:新增、修改、删除操作要放在同一事务提交,删除主表数据,从表对应数据也应相应删除等。主从表一般涉及两个以上的表,一个是主表,其他的是从表的,在实际情况下,一般包含两个表较多,下面我们以两个表的主从表关系进行分析展示。 ## 订单管理主从表关系结构图 ## ![订单管理主从表关系结构图](http://doc.rdiframework.net/blog/article/20181213100733876.png-pw) ## 功能展示 ## 对于订单管理主从表结构信息,主界面展示分为两部分:一部分是主表信息,一部分是从表信息,单击主表对应信息后,显示对应从表的列表信息,如下图所示。 ![file](http://doc.rdiframework.net/blog/article/20181213100838022.png-pw) 新增产品如下图所示,丰富的控件展示,列表直接编辑,自动计算并汇总等实用功能。 ![file](http://doc.rdiframework.net/blog/article/20181213100911973.png-pw) ![file](http://doc.rdiframework.net/blog/article/20181213100926098.png-pw) ![file](http://doc.rdiframework.net/blog/article/20181213100953491.png-pw) ![file](http://doc.rdiframework.net/blog/article/20181213101010916.png-pw) 打印功能: ![打印功能](http://doc.rdiframework.net/blog/article/20181213101106545.png-pw) ## 核心功能代码参考 ## **编辑界面保存代码参考** 在编辑界面不仅可以新增数据,还可以编辑数据,调用相同的保存数据的方法。 ``` //保存数据 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; } ``` ----- ![往期推荐](http://doc.rdiframework.net/rdiblog/20210219151130) - [全新跨平台版本.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**),及时了解最新动态。 使用微信扫描二维码立即关注 ![微信二维码](http://doc.rdiframework.net/rdiblog/20210127112204.png)
正文到此结束
本文标签:
.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前端
数据库
挨踢业界
随机文章
【干货】Vue3 组件通信方式详解
[推荐]ORACLE SQL:经典查询练手第一篇(不懂装懂,永世饭桶!)
.NET快速信息化系统开发框架 V3.2-模块管理按子系统进行分类管理
.NET快速信息化系统开发框架 V3.2 -> “用户管理”主界面使用多表头展示、增加打印功能
[特别公告]RDIFramework.NET微信公众号迁移通知
VS依赖注入(DI)构造函数自动生成局部私有变量
团队项目开发"编码规范"系列文章
[推荐]ORACLE SQL:经典查询练手第三篇(不懂装懂,永世饭桶!)
原创企业级控件库之大数据量分页控件
微信公众号开发C#系列-1、微信公众平台注册
RDIFramework.NET V3.3 Web版新增系统公告、系统新闻模块方便需要的客户
信息系统项目管理系列之六:项目范围管理
什么是零代码与低代码,有什么区别与联系,未来趋势
微信公众号开发C#系列-6、消息管理-普通消息接受处理
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.3版本全新发布
Win10年度更新开发必备:VS2015 Update 3正式版下载汇总
.NET快速信息化系统开发框架 V3.2 -> Web 用户管理模块编辑界面-组织机构选择支持级联选择
国思RDIF.vNext全新低代码快速开发框架平台发布
《ORACLE PL/SQL编程详解》全原创(共八篇)--系列文章导航
RDIFramework.NET开发框架在线表单设计整合工作流程的使用
网站信息
文章总数:599 篇
标签总数:8 个
分类总数:8 个
留言数量:1385 条
在线人数:
89
人
运行天数:1321天
最后更新:2023-05-18
QQ:406590790
13005007127