EditValueChanged事件,给另外文本框赋值,为什么事件本身的值赋不值
EditValueChanged事件,给另外文本框赋值,为什么事件本身的值赋不值
问题描述: 孙总,打扰一下,文本框的EditValueChanged事件,给另外文本框赋值,为什么事件本身的值不赋值呢? 界面不显示修改后的值 ? 解决方案: 绑定数据源的组件不能使用Text, EditValue直接赋值的, 这只是给控件属性赋值而没有给绑定的数据源赋值, 因此框架基类提供SetEditorBindingValue()方法赋值: C# Code: private void txtB_STOR_BIG_EditValueChanged(object sender, EventArgs e) { if (this.IsAddOrEditMode == false) return;//新增修改状态 //在EditValueChanged事件内给其它组件赋值时, 也要给自己赋值 SetEditorBindingValue(txtB_STOR_BIG,txtB_STOR_BIG.EditValue, true); //计件入库,包括:镶嵌类、钻石、仿真金、银杯、琉璃摆件、金石摆件、925银、纪念币 if (txtB_STOR_BIG.EditValue.ToString() == "dd62b958-c793-4093-9a92-f80e054b8c4e") { SetEditorBindingValue(txtB_STOC_MODE, "0", true); } else { SetEditorBindingValue(txtB_STOC_MODE, "1", true); } } //来源:C/S框架网(www.csframework.com) QQ:1980854898 SetEditorBindingValue 方法: C# Code: /// <summary> /// 给绑定数据源的输入控件赋值 /// </summary> /// <param name="bindingControl">绑定数据源的组件</param> /// <param name="value">值</param> /// <param name="setEditorValue">给控件赋值</param> protected void SetEditorBindingValue(Control bindingControl, object value, bool setEditorValue) { object temp = null;//空值为null if (value != DBNull.Value) temp = value; //有绑定数据源, 给数据源赋值 if (bindingControl.DataBindings.Count > 0) { object dataSource = bindingControl.DataBindings[0].DataSource; string field = bindingControl.DataBindings[0].BindingMemberInfo.BindingField; if (dataSource is DataTable) (dataSource as DataTable).Rows[0][field] = value; else DataConverter.SetValueOfObject(dataSource, field, value); } //给输入组件的赋值 if (setEditorValue) { if (bindingControl is BaseEdit) (bindingControl as BaseEdit).EditValue = value; else DataConverter.SetValueOfObject(bindingControl, "EditValue", value); } } //来源:C/S框架网(www.csframework.com) QQ:1980854898 扫一扫加作者微信
参考文档:
我还有一个问题,业务窗体的查询怎么做的?为什么Toolbar上没查询按钮? 你的框架为什么不采用NHibernate做ORM? 开发框架分模块分三层后工程项目很多,为什么不简化? WebService架构 - 为什么需要Web服务? 为什么主窗体下面的窗体列表标签没有关闭[X]按钮? C# 给绑定数据源的文本框.Text属性赋值,但没有保存数据 在文本框输入值,不离开焦点保存还是原来的值 继承frmBaseChild基类窗体,为什么不显示“关闭”按钮? LookupEdit关联更新其它文本输入框的值(自动带出参考数据并赋值) 给绑定数据源的文本输入框TextEdit.Text或EditValue属性赋值,失去焦点文本自动清空了 LookupEdit.EditValueChanged事件内给其它文本框赋值无效或变回原来的值 关于LookupEdit组件选择一条纪录不触发EditValueChanged事件 新增记录时自动生成记录的序号号码(或单据号码)并填充文本框 ASP.NET IIS网站为什么Global.asax的Application_Start方法设断点跟踪不运行? 我安装了DevExpress19.2.8为什么VS2019工具箱没有Dev控件?
其它资料:
什么是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内容管理系统 | |