2013-08-19 3 views
1

У меня есть две таблицы: столбцы и таблицы (внешний ключ - Table_ID). Я хочу показать столбцы в dataGridView с помощью combobox. В combobox для отображения связанной таблицы (таблиц имен) и выбранного элемента будет значение, заданное в столбцах.Установить selectedValue в DataGridViewComboBoxColumn

List<columns> columns = DataLoader.GetColumns(); 
List<tables> tables = DataLoader.GetTables(); 

this.editingDataGridView.DataSource = columns; // my dataGridView 
DataGridViewComboBoxColumn comboBoxColumn = new DataGridViewComboBoxColumn(); 

comboBoxColumn.DisplayMember = "Table_Name"; 
comboBoxColumn.ValueMember = "Table_ID"; 
comboBoxColumn.DataSource = tables; 

//add combobox column in dataGrid 
this.editingDataGridView.Columns.Add(comboBoxColumn); 

//AND this i want set value 
int index = this.editingDataGridView.Columns.IndexOf(comboBoxColumn); 
for (int i = 0; i < columns.Count; i++) 
{ 
    this.editingDataGridView.Rows[i].Cells[index].Value = columns[i].Table_ID; 
} 

После запуска я получаю gridView с столбцом combobox с dataSource, но без выбранного значения по умолчанию! enter image description here

+0

Выбранное значение зависит от текущей строки базовый источник данных. Какое значение по умолчанию вы хотите? –

+0

Это содержится в столбцах списка в поле Table_ID. Я делаю это после добавления combobxColumn в цикле (для каждого comboboCell я устанавливаю значение из списка столбцов) – isxaker

+0

@KingKing пример, в столбцах объектов у меня есть поле Table_id = 1, после загрузки источника данных в combobox. Я хочу, чтобы выбранное значение равнялось 1! – isxaker

ответ

2

Ключ POIN является

comboBoxColumn.DataPropertyName = "Table_ID"; 

нужно установить DataPropertyName из dataGridComboBoxColumn

More this

0

В vb.net, я нашел это решение

Dim cbx As DataGridViewComboBoxCell = dgvEstudios.Rows(x).Cells(1) 
cbx.Value = Trim("String value")