使用组合框ValueMember和DisplayMember

时间:2011-12-03 13:08:16

标签: c# data-binding

我有一个excel文件,它有两列(1. Name和2. Value),我想绑定到ComboBox。

当我将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";

1 个答案:

答案 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。