4
我知道你可以使用DataGridView的BindingSource
對象。BindingSource與DataGridView組合框
是否有可能在其中一列有組合框,並仍然利用BindingSource
?
我知道你可以使用DataGridView的BindingSource
對象。BindingSource與DataGridView組合框
是否有可能在其中一列有組合框,並仍然利用BindingSource
?
是的,它是 - 看看ComboBox with DataGridView in C#:
使用帶的DataGridView組合框不那麼複雜了,但它幾乎是強制性的,而這樣做驅動的軟件開發的一些數據。
我創建了這樣一個一個DataGridView。現在,我想在DataGridView中顯示「Month」和「Item」而不是「MonthID」和「ItemID」。
本質上講本文介紹的是一個單獨的綁定源綁定的組合框 - 在這種情況下,驗證表,其中MonthID
和MonthName
存儲和月份名稱顯示基於從原始數據的ID 。
在這裏,他設置月份數據源,從月份表中選擇,然後從返回的數據中創建一個BindingSource
。
//Month Data Source
string selectQueryStringMonth = "SELECT MonthID,MonthText FROM Table_Month";
SqlDataAdapter sqlDataAdapterMonth = new SqlDataAdapter(selectQueryStringMonth, sqlConnection);
SqlCommandBuilder sqlCommandBuilderMonth = new SqlCommandBuilder(sqlDataAdapterMonth);
DataTable dataTableMonth= new DataTable();
sqlDataAdapterMonth.Fill(dataTableMonth);
BindingSource bindingSourceMonth = new BindingSource();
bindingSourceMonth.DataSource = dataTableMonth;
接着,他添加了一個月ComboBoxColumn到DataGridView,使用DataSource
如上面創建的BindingSource
:
//Adding Month Combo
DataGridViewComboBoxColumn ColumnMonth = new DataGridViewComboBoxColumn();
ColumnMonth.DataPropertyName = "MonthID";
ColumnMonth.HeaderText = "Month";
ColumnMonth.Width = 120;
ColumnMonth.DataSource = bindingSourceMonth;
ColumnMonth.ValueMember = "MonthID";
ColumnMonth.DisplayMember = "MonthText";
dataGridViewComboTrial.Columns.Add(ColumnMonth);
然後終於,他結合了DataGridView
原始數據。