【发布时间】:2008-12-12 11:29:03
【问题描述】:
所以,我有一个使用 BindingList 作为数据源的 DataGridView
DataGridView.DataSource = new BindingList<Car>{...}
在哪里
public class Car
{
public ColorName Color { get; set;}
}
与
public class ColorName
{
public int Id {get; set;}
public string Name{get; set;}
}
我使用了一个 Combobox 列:
DataGridViewComboBoxColumn colorNameDataGridViewTextBoxColumn;
colorNameDataGridViewTextBoxColumn.DataPropertyName = "Color";
colorNameDataGridViewTextBoxColumn.HeaderText = "Color";
colorNameDataGridViewTextBoxColumn.Name = "Color";
colorNameDataGridViewTextBoxColumn.DisplayMember = "Name";
colorNameDataGridViewTextBoxColumn.ValueMember = "Id";
colorNameDataGridViewTextBoxColumn.DataSource = new ColorName[] {...};
我怎样才能让它工作?!现在我得到一个例外,因为我认为它试图将 Id 转换为 ColorName。
我尝试使用空的 ValueMember 或将直接转换运算符添加到 ColorName 类,但无法使其工作。
当然我可以在 Car 类中使用一个 int 来表示颜色,但不是很好。
正如您可能猜到的那样,这些类实际上是 Castle Project ActiveRecord-s。
欢迎任何想法!
【问题讨论】:
标签: .net winforms datagridview castle-activerecord