我有一个数据库DataGridView。它的一个列是DataGridViewComboBox。DataGridViewComboBox也是数据库。一切正常工作,直到我希望检索DataGridViewComboBox选定项后面的DataGridViewComboBox(不是DataGridView的DataRow,而是填充combobox的DisplayMember和ValueMember!)的数据方式。
我怎样才能做到这一点?我需要这样做,因为我需要在DisplayMember和ValueMember之外显示大量数据,这些数据存在于绑定DataGridViewComboBox的DataTable的数据中。
谢谢你提前帮忙。
丹尼尔
发布于 2011-10-17 09:28:50
这在这篇MSDN文章中有详细说明。
您需要做的是将ComboBox列的ComboBox设置为返回对业务对象本身的引用的属性。
也就是说,假设您有一个Employee对象,其中一个列表是ComboBox列的DataSource。员工可能会像这样:
public Employee
{
int Age { get; set; }
string Name { get; set;}
Employee Self
{
get { return this; }
}
} 然后创建如下所示的ComboBox列:
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.Name = "Combo";
col.ValueMember = "Self";
col.DisplayMember = "Name";
datagridview1.Columns.Add(col);然后,当检索ComboBox单元格的Value属性时,将返回一个Employee对象:
Employee e = datagridview1.Rows[0].Cells["Combo"].Value as Employee;https://stackoverflow.com/questions/7790446
复制相似问题