检索datagridviewcombobox后面的数据流,同时绑定
本文关键字:绑定 数据流 datagridviewcombobox 检索 | 更新日期: 2023-09-27 18:11:31
我有一个数据绑定DataGridView。其中一列是DataGridViewComboBox。DataGridViewComboBox也被绑定。一切都工作得很好,直到我希望检索DataGridViewComboBox 选定项目背后的数据ow(不是DataGridView的数据ow,而是填充组合框的DisplayMember和ValueMember的数据ow !)。
我怎样才能做到这一点?我需要这个,因为我需要在DisplayMember和ValueMember旁边显示一大堆数据,这些数据存在于DataGridViewComboBox绑定的DataTable的datarow中。
事先感谢您的帮助。
丹尼尔这在MSDN的文章中有详细说明。
您需要做的是将ComboBox列的ValueMember设置为返回对业务对象本身的引用的属性。
也就是说,假设您有一个Employee
对象,并且它们的一个列表是ComboBox列的数据源。员工可能看起来像这样:
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;