ячейка комбинированного списка данных c # - PullRequest
3 голосов
/ 02 марта 2012

Мой код:

 DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell();     
 DataTable data = new DataTable();

data.Columns.Add(new DataColumn("Value", typeof(string)));
data.Columns.Add(new DataColumn("Description", typeof(string)));



data.Rows.Add("5", "6");
data.Rows.Add("51", "26");
data.Rows.Add("531", "63");
cell.DataSource = data;
cell.ValueMember = "Value";
cell.DisplayMember = "Description";

cell.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
dataGridView1.Rows[0].Cells[0] = cell;

Отображает поле со списком, но не может выбрать его значение. Что не так

1 Ответ

7 голосов
/ 02 марта 2012

Обычно вы не работаете с отдельными типами ячеек в DataGridView.Вместо этого вы хотите добавить столбец типа DataGridViewComboBoxColumn.

Таким образом, вместо предоставленного кода вам нужно что-то вроде:

var column = new DataGridViewComboBoxColumn();      
DataTable data = new DataTable(); 

data.Columns.Add(new DataColumn("Value", typeof(string))); 
data.Columns.Add(new DataColumn("Description", typeof(string))); 

data.Rows.Add("5", "6"); 
data.Rows.Add("51", "26"); 
data.Rows.Add("531", "63"); 

column.DataSource = data; 
column.ValueMember = "Value"; 
column.DisplayMember = "Description"; 

dataGridView1.Columns.Add(column); 

Для справки документация по DataGridViewCombobBoxCell находится на MSDN здесь .Вы также можете найти информацию о DataGridView в целом там.Другой очень хороший справочник - DataGridViewFAQ .

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