我有以下代码在数据网格视图中设置组合框。
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
但是,我一直得到错误&#34; DataGridViewComboBoxCell值无效。&#34;。什么可能导致这个问题?选择值后,组合框单元格显示数字(Id)而不是&#34;文字&#34;?
更新
问题是由LookUp
中定义的错误类型引起的。
答案 0 :(得分:1)
在课堂上查找&#39;覆盖ToString()函数并返回Text属性的值。因为您正在使用对象,所以不需要显式分配DisplayMember。
答案 1 :(得分:0)
尝试使用 BindingList 查看此示例:
BindingList with my class populating a ComboBox using a property of it?