2012-12-11 150 views

回答

8

是的,它是 - 看看ComboBox with DataGridView in C#

使用帶的DataGridView組合框不那麼複雜了,但它幾乎是強制性的,而這樣做驅動的軟件開發的一些數據。

enter image description here

我創建了這樣一個一個DataGridView。現在,我想在DataGridView中顯示「Month」和「Item」而不是「MonthID」和「ItemID」。

本質上講本文介紹的是一個單獨的綁定源綁定的組合框 - 在這種情況下,驗證表,其中MonthIDMonthName存儲和月份名稱顯示基於從原始數據的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原始數據。