检索datagridviewcombobox后面的数据流,同时绑定

本文关键字:绑定 数据流 datagridviewcombobox 检索 | 更新日期: 2023-09-27 18:11:31

我有一个数据绑定DataGridView。其中一列是DataGridViewComboBox。DataGridViewComboBox也被绑定。一切都工作得很好,直到我希望检索DataGridViewComboBox 选定项目背后的数据ow(不是DataGridView的数据ow,而是填充组合框的DisplayMember和ValueMember的数据ow !)。

我怎样才能做到这一点?我需要这个,因为我需要在DisplayMember和ValueMember旁边显示一大堆数据,这些数据存在于DataGridViewComboBox绑定的DataTable的datarow中。

事先感谢您的帮助。

丹尼尔

检索datagridviewcombobox后面的数据流,同时绑定

这在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;