关于LookupEdit组件选择一条纪录不触发EditValueChanged事件

  关于LookupEdit组件选择一条纪录不触发EditValueChanged事件

关于LookupEdit组件选择一条纪录不触发EditValueChanged事件

问题反馈

如下图所示,当选择第2行纪录,编号为XXXX-00101-200401003,然后再选择第3行纪录,GridLookupEdit界面不会有任何不变化。

贴图图片-微信截图_20200409094441


原因


是因为选择了第2行,控件EditValue对应的值:XXXX-00101-200401003,再选择第3行,第3行Key的值与第2行的值是一致的,控件视为没有改动,所以不会触发EditValueChanged事件。

Key的值在绑定控件数据源指定的,对应:ValueMember。


解决方案

绑定数据源的ValueMember必须是主键字段,值必须唯一。


C# Code:

/// <summary>
/// 绑定参照字段的数据源
/// </summary>
/// <param name="edit">参照字段输入控件</param>
/// <param name="dataSource">数据源</param>
/// <param name="displayMember">显示字段</param>
/// <param name="valueMember">取值字段</param>
public static void BindingLookupEditDataSource(LookUpEdit edit, object dataSource, string displayMember, string valueMember)
{
  BindingLookupEditDataSource(edit.Properties, dataSource, displayMember, valueMember);
}

/// <summary>
/// 绑定表格内列参照字段的数据源
/// </summary>
/// <param name="edit">参照字段控件</param>
/// <param name="dataSource">数据源</param>
/// <param name="displayMember">显示字段</param>
/// <param name="valueMember">取值字段</param>
public static void BindingLookupEditDataSource(RepositoryItemLookUpEdit edit, object dataSource, string displayMember, string valueMember)
{
  edit.DisplayMember
= displayMember;
  edit.ValueMember
= valueMember;//必须是主键字段,值唯一
  
edit.DataSource = dataSource;
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761




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

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

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

评论内容
昵称:
关联文章

关于LookupEdit选择纪录触发EditValueChanged事件
LookupEdit.EditValueChanged事件内给其它文本框赋值无效或变回原来的值
EditValueChanged事件,给另外文本框赋值,为什么事件本身的值赋
关于NavBarControl点击ExpandButton缩放后能控制Dock的问题
DEVLookupEdit,ComboBoxEdit绑定数据源
使用DataBinderTools工具类绑定下拉LookupEdit数据源
关于Click事件sender参数问题
LookupEdit数据源当前资料行某字段的值
[原创]老鼠->猫->人 事件触发
C# 跟踪对象的所有事件触发
ButtonStateChanged事件详解 - 当按钮状态改变时触发事件
关于SetEditorBindingValue方法的使用
Winform界面布局控太多没有出现滚动XtraScrollableControl使用
修改单元格关联更新其它列的值,Dev GridViewOnCellValueChanged事件实现
DevStyle.SetTreeListSelectStyle 设置TreeList只读状态(用于选择)
详解DevExpress.LookUpEdit实现自动搜索定位功能
LookupEdit关联更新其它文本输入框的值(自动带出参考数据并赋值)
GridView最后列按回车键自动新增记录
纯C#代码的Excel读取器(需要Office Excel Com
LookUpEdit带给用户良好的操作体验