2011-12-03 49 views
0

我有一個excel文件,它有兩列(1. Name和2. Value),我想綁定到ComboBox。使用組合框ValueMember和DisplayMember

當我將DisplayMember設置爲名稱它顯示Excel文件中名稱列中的所有值。

我想獲得與asp.net控件中的文本字段和值字段類似的下拉列表,以便當我選擇文本字段時,可以使用後臺代碼獲取值字段。

如何在ComboBox(WinForms)中做什麼?

我正在使用以下代碼。

String strConn = "Provider=Microsoft.jet.OLEDB.4.0;" + "Data Source="C:\vipin.xls"+ "Extended Properties=Excel 8.0;"; 
DataSet ds = new DataSet();   
OleDbDataAdapter da = new OleDbDataAdapter("SELECT [name] FROM [Sheet1$] where Component=1 ", strConn);   
da.Fill(ds); 
dataGridView1.DataSource = ds.Tables[0].DefaultView;    
comboBox1.DataSource = ds.Tables[0].DefaultView; 
comboBox1.DisplayMember = "name"; 
+0

請記住接受解答您的問題的答案,方法是單擊答案旁邊的複選標記。 –

回答

2

您可以爲組合框的ValueMember指定值。

OleDbDataAdapter da = new OleDbDataAdapter("SELECT [name],[value] FROM [Sheet1$] where Component=1 ", strConn); 
comboBox1.DisplayMember = "name"; 
comboBox1.ValueMember = "value"; 
comboBox1.BindingContext = this.BindingContext; 

HTH。

+0

當我使用此代碼顯示成員顯示名稱列的所有值,但值顯示每個顯示成員是:System.Data.DataRowView。我爲價值成員做什麼。 –

+0

我無法訪問它的值。現在我明白了。 –

+0

它的工作很好,謝謝 –

相關問題