C# C/S架构明细表产品资料输入及单条记录选取方案

  C# C/S架构明细表产品资料输入及单条记录选取方案

C# C/S架构明细表产品资料输入及单条记录选取方案


如采购订单、销售订单、库存调整、出入库等功能的明细表货品资料栏位,为了提供便捷的操作及丰富的体验,理想的做法是即可输入货品编号又能提供灵活的选择功能。下图是开发框架提供的货品编码输入解决方案:


贴图图片


货品编码:该栏位集成ButtonEdit组件特性,在GridColumn.CustomEdit指定RepositoryItemButtonEdit类型。这样即可输入编码又能打开选择窗体选择货品。


货品名称:使用左连接LEFT JOIN 从货品表关联查询出来。


功能实现


1. 明细表的数据源从视图(View)获取,比如采购订单明细表是tb_POs对应的视图是vw_POs,视图的主要功能是使用左连接关联出货品的信息,比如货品名称、单位等在表格内只读显示(背景色为浅灰色)。

2. ButtonEdit绑定两个处理事件。ButtonClick是ButtonEdit的Click事件,点击按钮打开frmFuzzySearch窗体,并传入一个回调函数(Callback),当用户选择一条货品资料,按确定按钮会调用这个事件,回调函数的功能是给货品资料相关的栏位赋值。Validating事件是检查用户输入的编码是否存在,跟据编码从后台查询货品并返回DataRow对象,如果编码存在DataRow不为空,否则提示用户“编码不存在!”,另一个功能是设置货品资料相关栏位的值,与回调函数调用的是同一个方法:SearchStockCallBack。


C# Code:

(colD_ProductCode.ColumnEdit as RepositoryItemButtonEdit).ButtonClick = new ButtonPressedEventHandler(OnStockCode_ButtonClick);

(colD_ProductCode.ColumnEdit as RepositoryItemButtonEdit).Validating = new CancelEventHandler(OnStockCode_Validating);


 

C# Code:

/// <summary>
/// 选择货品资料,设置当前货品相关栏位的资料
/// </summary>
private void SearchStockCallBack(DataRow resultRow)
{
   if (resultRow == null) return;
   
   int H = gvDetail.FocusedRowHandle;//当前记录号 

   gvDetail.SetRowCellValue(H, colD_ProductCode, ConvertEx.ToString(resultRow[tb_Product.ProductCode]));//货品编码 

   gvDetail.SetRowCellValue(H, colD_ProductName, ConvertEx.ToString(resultRow[tb_Product.ProductName]));//货品名称 

   gvDetail.UpdateCurrentRow();
}


 

参考:frmSO,frmPO等窗体。




C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

C# C/S架构明细表产品资料输入记录选取方案
C# C/S架构下客户、供应商等大批量数据记录选取组件
新增功能输入产品编号名称自动筛选数据
输入框跳转到明细表格并新增记录
弹出窗体勾选多记录自动添加到明细表
C/S架构软件:系统权限初始化、系统初始化界面设计参考方案
明细表定制“新增记录”的快捷键
C/S架构进销存快速开发框架开发模板功能介绍
C/S框架-WebService架构用户凭证(令牌)解决方案
C/S开发框架MDI架构Toolbar按钮共享(原创)
【原创产品】自己开发MES系统软件,MES开发架构MES客户端快速开发框架平台
原创:C/S架构快速开发框架通用可配置的数据修改日志解决方案
C/S框架-WebService架构下分页查询数据解决方案
明细表插入记录Insert报错:行插入位置-2147483648无效。
组织架构、组织机构、部门管理权限分配 - C/S架构快速开发框架
GridView实现自定义按钮中间插入记录排序功能
C/S系统开发框架V2.2,V3.0新增多明细表开发示例(图)
生成的窗体Form源码集成到VS解决方案 - C/S框架三层架构代码生成器操作指南
更新明细表的外键-优化方法UpdateDetailKey|C/S框架网
支持主从表BLL单独提交明细表优化UpdateDetailKey方法|C/S框架网