取消UpdateTotalAmount方法及改变编程方式
取消UpdateTotalAmount方法及改变编程方式请按照此文章进行改进:
修改单价/数量列, 自动计算金额
http://www.csframework.com/archive/9/arc-9-20141230-2172.htm
删除UpdateTotalAmount方法及相关代码!

如 frmSO, 销售订单界面修改后的代码:
C# Code:
private void OnCellValueChanged(object sender, CellValueChangedEventArgs e)
{
//只要单价和数量栏位改动重新计算金额
if ((e.Column == colD_Price) || (e.Column == colD_Qty))
{
this.UpdateDetailAmount();//重新计算金额
}
}
/// <summary>
/// 当用户修改单价/数量列, 自动计算采购金额
/// </summary>
private void UpdateDetailAmount()
{
decimal price = ConvertEx.ToDecimal(gvDetail.GetDataRow(gvDetail.FocusedRowHandle)[tb_SOs.Price]);//单价
decimal quantity = ConvertEx.ToDecimal(gvDetail.GetDataRow(gvDetail.FocusedRowHandle)[tb_SOs.Qty]);//数量
decimal amt = Math.Round(price * quantity, 2, MidpointRounding.ToEven);//金额=数量*单价
//计算本产品的采购金额
gvDetail.SetFocusedRowCellValue(colD_Amount, amt);
gvDetail.UpdateCurrentRow();//更新当前资料行
gvDetail.UpdateTotalSummary();//更新合计
//更新主表的合计金额
decimal totalAmt = ConvertEx.ToDecimal(colD_Amount.SummaryItem.SummaryValue);
this.SetEditorBindingValue(txtAmount, totalAmt, true);
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
private void OnCellValueChanged(object sender, CellValueChangedEventArgs e)
{
//只要单价和数量栏位改动重新计算金额
if ((e.Column == colD_Price) || (e.Column == colD_Qty))
{
this.UpdateDetailAmount();//重新计算金额
}
}
/// <summary>
/// 当用户修改单价/数量列, 自动计算采购金额
/// </summary>
private void UpdateDetailAmount()
{
decimal price = ConvertEx.ToDecimal(gvDetail.GetDataRow(gvDetail.FocusedRowHandle)[tb_SOs.Price]);//单价
decimal quantity = ConvertEx.ToDecimal(gvDetail.GetDataRow(gvDetail.FocusedRowHandle)[tb_SOs.Qty]);//数量
decimal amt = Math.Round(price * quantity, 2, MidpointRounding.ToEven);//金额=数量*单价
//计算本产品的采购金额
gvDetail.SetFocusedRowCellValue(colD_Amount, amt);
gvDetail.UpdateCurrentRow();//更新当前资料行
gvDetail.UpdateTotalSummary();//更新合计
//更新主表的合计金额
decimal totalAmt = ConvertEx.ToDecimal(colD_Amount.SummaryItem.SummaryValue);
this.SetEditorBindingValue(txtAmount, totalAmt, true);
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898

参考文档:
C# 设置文件目录只读属性,取消只读属性
设为常用/取消常用快捷按钮开发备注
界面里取消常用是什么意思?
V4:设置,取消常用功能报错
取消用户ID长度为1位的限制
四.业务单据窗体开发步骤|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
业务单据窗体开发步骤|开发教程
SQLSERVER:误删Windows登录用户而sa禁用,导致无法使用Windows身份验证解决方案|C/S开发框架
EFCore 重写DbContext.SaveChanges方法,避免多个实例跟踪发生错误|C/S开发框架
SqlConnectorV6.0 | 数据库连接工具操作手册|C/S开发框架
喜鹊ERP | DevExpress 表格常用操作指南|表格组件自动分组|C/S开发框架
解决每次切换到Word出现几秒卡顿的问题|C/S开发框架
CSFrameworkV6.0旗舰版开发框架升级更新日志|C/S开发框架
CSFrameworkV6 - 软件开发平台 - 常用功能按钮设置开发指南
CSFrameworkV5.x将迎来重大升级,敬请关注!
ucButtonFunction 组件详解|MiniFramework蝇量框架|Winform框架|C/S开发框架
C# 设置文件目录只读属性,取消只读属性
设为常用/取消常用快捷按钮开发备注
界面里取消常用是什么意思?
V4:设置,取消常用功能报错
取消用户ID长度为1位的限制
四.业务单据窗体开发步骤|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
业务单据窗体开发步骤|开发教程
SQLSERVER:误删Windows登录用户而sa禁用,导致无法使用Windows身份验证解决方案|C/S开发框架
EFCore 重写DbContext.SaveChanges方法,避免多个实例跟踪发生错误|C/S开发框架
SqlConnectorV6.0 | 数据库连接工具操作手册|C/S开发框架
喜鹊ERP | DevExpress 表格常用操作指南|表格组件自动分组|C/S开发框架
解决每次切换到Word出现几秒卡顿的问题|C/S开发框架
CSFrameworkV6.0旗舰版开发框架升级更新日志|C/S开发框架
CSFrameworkV6 - 软件开发平台 - 常用功能按钮设置开发指南
CSFrameworkV5.x将迎来重大升级,敬请关注!
ucButtonFunction 组件详解|MiniFramework蝇量框架|Winform框架|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内容管理系统 |
在线客服
