![](/img/trans.png)
[英]How to display a property instead of the value in a databound DataGridViewComboBox?
[英]Retrieve datarow behind datagridviewcombobox while databound
我有一個數據綁定DataGridView。 其中一個列是DataGridViewComboBox。 DataGridViewComboBox也是數據綁定。 一切正常,直到我希望檢索DataGridViewComboBox 選定項后面的DataRow(不是DataGridView的DataRow,而是填充組合框的DisplayMember和ValueMember的數據行!)。
我怎么能做到這一點? 我需要這個,因為我需要在DisplayMember和ValueMember旁邊顯示一大堆數據,這些數據存在於DataGrid接入的DataTable的數據行中。
感謝您的幫助。
丹尼爾
您需要做的是將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.