功能描述

无论什么系统,除了常规的单表处理外,主从表的应用都是非常普遍的,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;}

参考文章

RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录

RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍

RDIFramework.NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用

RDIFramework.NET代码生成器全新V3.5版本发布-重大升级

代码生成器下载

1、代码生成器使用说明下载

2、代码生成器百度网盘下载地址

3、代码生成器本地下载


一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。

RDIFramework.NET官方网站:http://www.rdiframework.net/

RDIFramework.NET官方博客:http://blog.rdiframework.net/

特别说明,框架相关的技术文章请以官方网站为准,欢迎大家收藏!

RDIFramework.NET框架由专业团队长期打造、一直在更新、一直在升级,请放心使用!

欢迎关注RDIFramework.net框架官方微信公众号(微信号:guosisoft),及时了解最新动态。

使用微信扫描二维码立即关注

file

RDIFramework.NET V3.3 WinForm版新增订单管理主从表事例相关推荐

  1. RDIFramework.NET V3.3 Web版角色授权管理新增角色对操作权限项、模块起止生效日期的设置...

    在实际应用在我们可能会有这样的需求,某个操作权限项(按钮)或菜单在某个时间范围内可以让指定角色访问.此时通过我们的角色权限扩展设置就可以办到. 在我们框架V3.3 Web版本全新增加了角色权限扩展设置 ...

  2. RDIFramework.NET WinForm版新增通知公告、系统新闻模块

    1.系统新闻功能描述 系统新闻模块,用户可以根据实际情况做相应应用,如用在内部业务系统的展示中或网站上新闻的展示.新闻可以分类进行管理,非常的实用.系统新闻管理主要分为添加.修改.删除与移动系统新闻. ...

  3. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版新增系统参数管理

    RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.0 版新增系统参数管理 欲了解V3.0版本的相关内容可查看下面的链接地址. RDIFramework.NET ━ .NET快 ...

  4. 最好用的.NET敏捷开发框架-RDIFramework.NET V3.6版全新发布 100%源码授权

    RDIFramework.NET,基于.NET的快速信息化系统敏捷开发框架.10年沉淀.历经上千项目检验,致力于企业智能化开发,帮助提升软件开发效率.最好用的.NET开发框架,100%源码授权. 1. ...

  5. .NET敏捷开发框架-RDIFramework.NET V3.6版全新发布 100%源码

    链接:http://qiqucode.com/product_detail/207 RDIFramework.NET,基于.NET的快速信息化系统敏捷开发框架.10年沉淀.历经上千项目检验,致力于企业 ...

  6. .NET快速信息化系统开发框架 V3.2-amp;gt;WinForm版本新增新的角色授权管理界面效率更高、更规范...

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chinahuyong/article/details/76735793 角色授权管理模块主要是对角色 ...

  7. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增岗位管理-WinForm部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本 新增岗位管理-WinForm部分 岗位(职位)管理模块主要是针对组织机构的岗位(职位)进行管理,包括:增加.修改. ...

  8. Win10《芒果TV》商店版更新v3.2.4:新增跨年事件直播、电视台直播,新年快乐

    听说半个娱乐圈都来了,<芒果TV>UWP版邀您一起,于2016年12月31日晚,观看<湖南卫视2016·2017跨年演唱会>直播,请更新v3.2.4版,主要新增大事件直播和电视 ...

  9. Win10《芒果TV》商店版更新v3.2.2:新增对Win10产品专用会员兑换码支持,全新的最具价值用户纪念奖励...

    在WinHEC2016宣布Win10和ARM历史性结合之际,<芒果TV>UWP版迅速更新v3.2.2版,主要是新增对Win10产品专用会员兑换码支持,推出全新的最具价值用户纪念奖励(具有唯 ...

  10. Win10《芒果TV》商店版更新v3.2.3:新增应用内意见反馈、播放重试、透明磁贴

    在2016圣诞节临近之际,<芒果TV>UWP版迅速更新v3.2.3版,主要是新增应用内意见反馈提交功能.播放重试.透明磁贴.动态磁贴等功能,进一步优化稳定性.视觉细节.运行速度. 芒果TV ...

最新文章

  1. Gigaset ME/pure/pro体验:就是这个德味
  2. LeetCode 5843. 作为子字符串出现在单词中的字符串数目
  3. scrapy newspaper bug
  4. 以监控为核心 实现安防智能化全面兼容
  5. Linux环境下安装Hadoop(完全分布式)
  6. linux硬盘分区PPT,linux下的硬盘分区详解.doc
  7. 通过Kali linux 模拟CC攻击进行WEB压力测试实战
  8. delphi开发安卓中更改图标与APP名称
  9. 设计一图书信息管理系统,实现以下功能:系统以菜单方式工作,图书信息录入功能(图书信息用文件保存) ;
  10. 公司员工后台管理系统界面设计-Axure9原型设计
  11. 什么是SCSI硬盘?
  12. 时间末尾多了.000Z?
  13. nbsp; ensp; emsp; thinsp;zwnj;zwj; 6种空白空格的区别
  14. C#之泛型实例化对象的理解
  15. 华硕B250M主板安装win7
  16. oracle 48101 block,oracle数据库的一次异常起停处理。
  17. Linux中Sl命令的使用
  18. K8S与Vault集成,进行Secret管理
  19. Java开源 J2EE框架(二)
  20. leetcode197:上升的温度

热门文章

  1. 图像显著性论文(二)—Saliency Detection: A Spectral Residual Approach
  2. 阿里企业邮箱使用第三方客户端同步邮件的坑
  3. 用计算机发射wifi经常很卡,电脑WiFi上网速度慢原因解决办法
  4. Python运算符优先级和结合性
  5. PIE-Engine教程—中国降水分布可视化加载以2018年为例(含图例添加)
  6. 小白怎么入门网络安全?
  7. 树莓派Zero 2 W的自带WiFi性能测试,仅40Mbps左右
  8. MFC学习之路(五)让人菊花一紧的错误
  9. IPwe区块链智能池利用AI来处理专利分析
  10. 生物信息学在线服务器,48个实用的生信在线工具强烈推荐,不看是你的损失!...