Как установить индекс комбинированного списка, который был динамически добавлен в сетку данных - PullRequest
0 голосов
/ 26 марта 2019

Итак, вот небольшая предыстория, чтобы попытаться поместить вещи в контекст

Сначала отформатируйте данные: У меня есть две базы данных, которые имеют такую ​​структуру

DB1 эта таблица содержит Field_Id вместе со всеми свойствами поля DB2 эта таблица содержит более широкую информацию вместе со ссылками на DB1 Field_Id, эта ссылка используется для получения Field_Name

настолько простой SQL-запрос, чтобы лучше описать

Select Field_Name From DB1 Where Field_Id = (select Field_Id From DB2 where param = %)

возвращает список, связанный с DataGridViewComboBox внутри таблицы данных. Теперь до этого момента все идет отлично, ComboBox добавляется все DataGridView заполняется проблема возникает здесь

for (int i = 0; i <= dataGridView1.RowCount - 2; i++)
        {
            dataGridView1.Rows[i].Cells[0].Value = valuetosetindex;
            dataGridView1.Refresh();
        }

Дело в том, что это не устанавливает значение ComboBox внутри 0-го столбца, если бы я просто установил столбцы в строки, это работает, но набор значений не работает.

Я более чем рад добавить больше кода, если это необходимо.

Ответы [ 2 ]

1 голос
/ 26 марта 2019

С помощью своего фрагмента кода вы добавите к объекту недопустимое значение, что приведет к ArgumentException.

Как вы уже упоминали, если вы присваиваете строку значению, которое она работает. Вам нужно только получить доступ к элементу valuetosetindex ComboBox:

dataGridView1.Rows[i].Cells[0].Value = yourColumn.Items[valuetosetindex];

В этом фрагменте кода yourColumn - это ваш ComboBox, связанный с колонкой.

0 голосов
/ 26 марта 2019

Как ваше Datagridview связано с данными?Я бы предложил использовать набор данных и BindingSource, чтобы связать их вместе.Если вы связываете его, вы можете использовать ComboBox в качестве типа столбца.Затем вы можете привязать второй набор данных к этому списку.это автоматически создаст ссылку.

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