2013-12-10 4 views
-1

У меня возникла проблема с заполнением comboxcolumn в виде datagrid. Вот краткое описание моей проблемы.Как добавить элементы в DataGridView ComboBoxColumn?

У меня есть столбцовая колонка в представлении datagrid с именем dgvRightsColumn и таблица в SQL с именем «Права». Я хочу заполнить это поле со списком дагаридов с помощью таблицы прав в таблице прав.

DataGridViewComboBoxColumn dgvRightsColumn = new DataGridViewComboBoxColumn(); 

SqlCommand fillRights = new SqlCommand("SELECT * FROM [Rights]", sqlConnection); 
SqlDataReader readerRights = fillRights.ExecuteReader(); 

while (readerRights.Read()) 
{ 
    dgvRightsColumn.Items.Add(Convert.ToString(readerRights["RightName"])); 
} 

readerRights.Close(); 
+0

Что проблема у Вас есть? – rae1

+0

это winform? или Webform? –

+0

благодарит за ответ @ rae1n. Этот код не добавляет элементы в поле со списком. Когда я запускаю этот код. Combobox по-прежнему пуст –

ответ

2

Проблема: вы просто создать объект для DataGridViewComboBoxColumn, но не указав фактический столбец, который будет рассмотрен в Gridview в ComboBox, который третий столбец.

Решение: вам нужно cast нужный столбец из DataGridview в DataGridViewComboBoxColumn вставить элементы.

Заменить Это:

DataGridViewComboBoxColumn dgvRightsColumn = new DataGridViewComboBoxColumn(); 

с этим:

DataGridViewComboBoxColumn dgvRightsColumn= dgvTasksRights.Columns[2] as DataGridViewComboBoxColumn; 

Примечание: Вы не открывая SqlConnectoion объект sqlConnection перед выполнением ExecuteReader command.You нужно открыть это как показано ниже:

sqlConnection.Open(); 

Полный код:
Попробуйте:

SqlCommand fillRights = new SqlCommand("SELECT * FROM [Rights]", sqlConnection); 
sqlConnection.Open(); 
SqlDataReader readerRights = fillRights.ExecuteReader(); 

DataGridViewComboBoxColumn dgvRightsColumn= dgvTasksRights.Columns[2] as DataGridViewComboBoxColumn; 
while (readerRights.Read()) 
{     
dgvRightsColumn.Items.Add(Convert.ToString(readerRights["RightName"])); 
} 
readerRights.Close(); 
+0

связка благодарности ... Я получил свою ошибку. Теперь он работает. Кстати, я только что опубликовал выбранный код, где у меня возникла проблема. SqlConnection уже был открыт: -p. Еще раз спасибо. :-) –

+0

@AzeemKhalid: Добро пожаловать :), я рад помочь вам. Хороший день. –

+0

Могу я поговорить с тобой ...? –

Смежные вопросы