数据网格视图组合框:组合框单元格显示 ValueMember 而不是 DisplayMember 和 "DataGridViewComboBoxCell value is not valid" ?



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

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定义的错误类型引起的。

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

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

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

最新更新