использование комбинированного списка ValueMember и DisplayMember - PullRequest
0 голосов
/ 03 декабря 2011

У меня есть файл Excel с двумя столбцами (1. Имя и 2. Значение), которые я хочу связать с 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 Ответ

2 голосов
/ 03 декабря 2011

Вы можете назначить значение для 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...