簡體   English   中英

在數據綁定時檢索datagridviewcombobox后面的數據行

[英]Retrieve datarow behind datagridviewcombobox while databound

我有一個數據綁定DataGridView。 其中一個列是DataGridViewComboBox。 DataGridViewComboBox也是數據綁定。 一切正常,直到我希望檢索DataGridViewComboBox 選定項后面的DataRow(不是DataGridView的DataRow,而是填充組合框的DisplayMember和ValueMember的數據行!)。

我怎么能做到這一點? 我需要這個,因為我需要在DisplayMember和ValueMember旁邊顯示一大堆數據,這些數據存在於DataGrid接入的DataTable的數據行中。

感謝您的幫助。

丹尼爾

這篇MSDN文章詳細介紹了這一點

您需要做的是將ComboBox列的ValueMember設置為一個屬性,該屬性返回對業務對象本身的引用。

也就是說,假設您有一個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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM