Datagridview组合框:组合框单元格显示ValueMember而不是DisplayMember,并且“DataG

本文关键字:组合 DisplayMember 并且 DataG 单元格 显示 ValueMember Datagridview | 更新日期: 2023-09-27 18:10:14

我有下面的代码来设置数据网格视图中的组合框。

class Lookup { byte Id {get; set;} string Text {get; set;} }
List<Lookup> rs = GetData(...);
cb.DataSource = rs;
cb.DisplayMember = "Text";
cb.ValueMember = "Id";
cb.DataPropertyName = "LookupId"; // The column of data source of grid view is also byte

然而,我保持得到错误的"DataGridViewComboBoxCell值是无效的。"什么会导致这个问题?选择值后,组合框单元格显示的是数字(Id),而不是"文本"?

更新:

这个问题是由LookUp定义的错误类型引起的。

Datagridview组合框:组合框单元格显示ValueMember而不是DisplayMember,并且“DataG

在类'Lookup'中重写ToString()函数并返回Text属性的值。你不需要显式地赋值DisplayMember,因为你使用的是一个对象。

尝试使用BindingList看看这个例子:

BindingList与我的类填充一个组合框使用它的属性?