CSFrameworkV6-业务单据数据查询页面显示主从表关联数据解决方案


应客户要求,业务单据的数据查询页面要同时显示主从表数据,需要做以下调整:

1、查询条件,增加查询明细表字段的条件

业务单据数据查询页面显示主从表关联数据解决方案

查询结果显示一张单据对应多条明细记录。

 

DAL层查询方法 DAL.Query

C# 全选
            //查询主从表
            var qJoin = (from s in q
                         join b in q1 on s.PONO equals b.PONO into tmp //必须使用左连,避免无明细表出不了数据
                         from b in tmp.DefaultIfEmpty()
                         select new res_PO
                         {
                             isid = s.isid,
                             PONO = s.PONO,
                             DocDate = s.DocDate,
                             POUser = s.POUser,
                             DocType = s.DocType,
                             SupplierCode = s.SupplierCode,
                             SupplierName = s.SupplierName,
                             SupplierAddress = s.SupplierAddress,
                             SupplierTel = s.SupplierTel,
                             SupplierFax = s.SupplierFax,
                             SupplierContact = s.SupplierContact,
                             SupplierContactPhone = s.SupplierContactPhone,
                             PayType = s.PayType,
                             FlagStop = s.FlagStop,
                             FlagPrint = s.FlagPrint,
                             Remark = s.Remark,
                             CreationDate = s.CreationDate,
                             CreatedBy = s.CreatedBy,
                             LastUpdateDate = s.LastUpdateDate,
                             LastUpdatedBy = s.LastUpdatedBy,
                             FlagApp = s.FlagApp,
                             AppUser = s.AppUser,
                             AppDate = s.AppDate,
                             DeliveryDate = s.DeliveryDate,
                             TotalAmount = s.TotalAmount,
                             TotalSquar = s.TotalSquar,
                             TotalVolumn = s.TotalVolumn,
                             TotalWeight = s.TotalWeight,

                             //明细表字段
                             CustomerGoodsNo = b == null ? "" : b.GoodsNo,
                             CustomerOrderNo = b == null ? "" : b.CustomerOrderNo,
                             PaperLength = b == null ? 0 : b.PaperLength,
                             PaperName = b == null ? "" : b.PaperName,
                             PaperNameProduce = b == null ? "" : b.PaperNameSupplier,
                             PaperSpec = b == null ? "" : b.PaperSpec,
                             PaperSpecProduce = b == null ? "" : b.SupplierSpec,
                             PaperWidth = b == null ? 0 : b.PaperWidth,
                         }
                         ).Distinct();

            //返回查询结果
            return qJoin.OrderByDescending(o => o.CreationDate).ToList();

 

2、删除记录 DoDelete方法

整单删除,要删除多条记录。

删除前要用户确认。

业务单据数据查询页面显示主从表关联数据解决方案

 

3、新增\修改 -> 保存

业务单据数据查询页面显示主从表关联数据解决方案

 

4、审核操作

审核:

C# 全选
        public override void DoApproval(IButtonInfo button)
        {
            AssertFocusedRow();

            var row = (res_SO)_SummaryView.GetFocusedRow();

            if (row.FlagApp == "Y")
            {
                Msg.Warning($"单据 <{row.SONO}> 已经审核,不可重复操作!");
            }
            else
            {
                if (Msg.AskQuestion($"确定要审核单据 <{row.SONO}> 吗? "))
                {
                    if (_BLL.ApprovalBusiness(row)) //审核单据
                    {
                        //更新表格缓存记录的审核状态
                        gvSummary.GetDataSource<res_SO>()
                            .Where(w => w.SONO == row.SONO).ToList().ForEach(i => i.FlagApp = "Y");
                        gvSummary.RefreshData();

                        if (this.IsShowDetailPage)
                        {
                            this.DoViewContent(null);//显示单据明细
                        }
                    }
                }
            }
        }

 

反审:

CSFrameworkV6-业务单据数据查询页面显示主从表关联数据解决方案

 

5、测试场景

新增一张单据,多条明细,保存后查看表格数据是否正常

修改单据,修改一条明细,保存后查看表格数据是否更新正常

删除单据,查看表格里是否删除了整单记录。

 

 

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:C# LINQ匹配单据日期、制单时间(日期与时间范围匹配)
下一篇:CSFrameworkV6-主从表基础资料窗体扩展【复制】按钮
评论列表

发表评论

评论内容
昵称:
关联文章

CSFrameworkV6-业务单据数据查询页面显示主从关联数据解决方案
表格内显示关联数据解决方案(Join,View,Lookup)
DAL - 主从业务单据数据访问层C#代码
BLL - 主从业务单据业务逻辑层C#代码
新增主从业务单据窗体 | C/S架构软件开发平台 - 旗舰版V6.0
CSFrameworkV6旗舰版-业务单据窗体基类介绍
关于业务单据主从导入数据,销售订单(SO)的数据导入到销售退货单(SR)
CSFrameworkV6旗舰版-数据编辑页面设计(主/从输入区域)
CSFrameworkV6旗舰版 - 业务单据复制功能,支持复制多级明细表
数据字典与业务数据关系与查询
开发业务单据报表(主从) - MiniFramework蝇量框架 - Winform框架
CSFrameworkV6-数据下钻功能,双击表格打开单据(单穿透、单跳转)
C# Winform 开发框架 - 业务单据附件管理解决方案(原)
代码生成器 CodeGenerator - 生成业务窗体 (主从数据管理界面)
CSFrameworkV6旗舰版-主从设计报表模板文件
C/S框架-WebService架构下分页查询数据解决方案
CSFrameworkV6旗舰版-业务单据窗体其它处理
新增业务单据主从窗体 - MiniFramework蝇量框架 - Winform框架
数据查询页面支持TreeList展示数据
删除用户前逻辑判断,检查当前用户是否关联业务数据或创建业务数据

热门标签
.NET5 .NET6 .NET7 APP Auth-软件授权注册系统 Axios B/S B/S开发框架 Bug Bug记录 C#加密解密 C#源码 C/S CHATGPT CMS系统 CodeGenerator CSFramework.DB CSFramework.EF CSFrameworkV1学习版 CSFrameworkV2标准版 CSFrameworkV3高级版 CSFrameworkV4企业版 CSFrameworkV5旗舰版 CSFrameworkV6.0 DAL数据访问层 Database datalock DbFramework Demo教学 Demo下载 DevExpress教程 DOM EF框架 Element-UI EntityFramework ERP ES6 Excel FastReport GIT HR IDatabase IIS JavaScript LINQ MES MiniFramework MIS NavBarControl Node.JS NPM OMS ORM PaaS POS Promise API Redis SAP SEO SQL SQLConnector TMS系统 Token令牌 VS2022 VSCode VUE WCF WebApi WebApi NETCore WebApi框架 WEB开发框架 Windows服务 Winform 开发框架 Winform 开发平台 WinFramework Workflow工作流 Workflow流程引擎 版本区别 报表 踩坑日记 操作手册 代码生成器 迭代开发记录 基础资料窗体 架构设计 角色权限 开发sce 开发技巧 开发教程 开发框架 开发平台 开发指南 客户案例 快速搭站系统 快速开发平台 秘钥 密钥 权限设计 软件报价 软件测试报告 软件简介 软件开发框架 软件开发平台 软件开发文档 软件体系架构 软件下载 软著证书 三层架构 设计模式 生成代码 实用小技巧 收钱音箱 数据锁 数据同步 微信小程序 未解决问题 文档下载 喜鹊ERP 喜鹊软件 系统对接 详细设计说明书 行政区域数据库 需求分析 疑难杂症 蝇量级框架 蝇量框架 用户管理 用户开发手册 用户控件 在线支付 纸箱ERP 智能语音收款机 自定义窗体 自定义组件 自动升级程序