CSFrameworkV6|数据下钻功能,双击表格打开单据(表单穿透、表单跳转)|C/S开发框架

应用场景
如生产单功能,每张生产单需要查看生产环节的单据流程状态,双击表格记录要打开对应的单据(下钻数据),如:采购订单、采购入库单等。

逻辑分析
生产单功能属于生产模块,标签页中各个流程单据可能在不同的模块,因此打开单据存在两种情况:
- 打开跨模块(dll)的业务单据窗体
- 打开当前模块的业务单据窗体
解决方案
在业务单据窗体的InitializeForm 方法 内判断逻辑,若传入单据号码,自动给查询条件中的单据号码赋值,然后自动点击【查询】按钮,再点击【查看】按钮,完成自动化操作显示当前单据。
1、修改业务单据窗体的 InitializeForm 方法 处理传入单据号码逻辑
如上图所示的采购订单,首先我们需要修改采购订单的 InitializeForm 方法:
C# 全选
//传入单据号码
if (_CurrentParameter != null && _CurrentParameter is String docNo)
{
txt_PONO.EditValue = docNo;//设置查询条件
btnQuery_Click(btnQuery, new EventArgs());//调用查询按钮事件
if (gvSummary.RowCount > 0) this.DoViewContent(null);//查看当前单据
}
else
{
txt_DateFrom.EditValue = DateTime.Now.AddDays(-30);
txt_DateTo.EditValue = DateTime.Now;
btnQuery_Click(btnQuery, new EventArgs());
}2、跨模块打开单据并定位单据号码
采购单表格双击事件
C# 全选
private void gvDetail_PO_DoubleClick(object sender, EventArgs e)
{
var row = gvDetail_PO.GetRow<res_PFSummary_POs>();//当前记录
if (row != null)
{
//跨模块打开窗体,并显示指定单据
(MdiTools.MainForm as IMdiForm).OpenModuleForm("CartonERP.PurchaseModule.frm_PO_Paper", "menuPurchase_PO", row.PONO);
}
}OpenModuleForm方法
开发框架提供OpenModuleForm方法,用于跨模块(dll类库)打开窗体。
每个业务模块主窗体提供 OpenForm方法,参考:frmbaseModule.cs 文件。
3、打开当前模块的单据窗体并定位单据
采购单表格双击事件
C# 全选
//生产领料
private void gvDetail_MO_Click(object sender, EventArgs e)
{
var row = gvDetail_PO.GetRow<res_PFSummary_MOs>();//当前记录
if (row != null)
{
//打开当前模块的窗体,并显示指定单据
MdiTools.OpenChildForm(this.MdiParent as IMdiForm, typeof(frm_WF), row.IONO);
}
}
参考文档:
CSFrameworkV6快速开发框架 | 使用PostgreSql 数据库测试报告|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
CSFrameworkV6旗舰版|新功能|在线用户查询、设置用户下线|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
CSFrameworkV6软件开发框架+达梦数据库(国产数据库)测试报告|C/S开发框架
CSFrameworkV6软件开发框架 | MySql数据库测试报告|C/S开发框架
CSFrameworkV6软件开发框架 | Oracle数据库测试报告|C/S开发框架
CSFrameworkV6快速开发框架 | SqlServer(MsSql)数据库测试报告|C/S开发框架
CSFrameworkV6.1前端+WebApiV3后端测试报告(前后端分离)|C/S开发框架
CSFrameworkV6软件开发平台主流数据库测试报告(SqlServer/MySql/Oracle/达梦)|C/S开发框架
CSFrameworkV6旗舰版|新建业务模块 (VS Project项目)|C/S开发框架
CSFrameworkV6删除全部Demo功能整合一套纯净版开发框架|C/S开发框架
CSFrameworkV6 试用版(Trial Version)开发指南|C/S开发框架
CSFrameworkV6旗舰版 | 多语言及国际化|C/S开发框架
CSFrameworkV6旗舰版 | Oracle数据库笔记|C/S开发框架
达梦数据库 | 使用DM数据迁移工具迁移CSFrameworkV6数据库|C/S框架网|C/S开发框架
CSFrameworkV6快速开发框架 | 使用PostgreSql 数据库测试报告|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
CSFrameworkV6旗舰版|新功能|在线用户查询、设置用户下线|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
CSFrameworkV6软件开发框架+达梦数据库(国产数据库)测试报告|C/S开发框架
CSFrameworkV6软件开发框架 | MySql数据库测试报告|C/S开发框架
CSFrameworkV6软件开发框架 | Oracle数据库测试报告|C/S开发框架
CSFrameworkV6快速开发框架 | SqlServer(MsSql)数据库测试报告|C/S开发框架
CSFrameworkV6.1前端+WebApiV3后端测试报告(前后端分离)|C/S开发框架
CSFrameworkV6软件开发平台主流数据库测试报告(SqlServer/MySql/Oracle/达梦)|C/S开发框架
CSFrameworkV6旗舰版|新建业务模块 (VS Project项目)|C/S开发框架
CSFrameworkV6删除全部Demo功能整合一套纯净版开发框架|C/S开发框架
CSFrameworkV6 试用版(Trial Version)开发指南|C/S开发框架
CSFrameworkV6旗舰版 | 多语言及国际化|C/S开发框架
CSFrameworkV6旗舰版 | Oracle数据库笔记|C/S开发框架
达梦数据库 | 使用DM数据迁移工具迁移CSFrameworkV6数据库|C/S框架网|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
