DataGridViewRow Неправильный индекс ячейки
У меня проблема при попытке получить некоторые значения через DataGridViewRow. проблема в том, что мой индекс ячейки равен 7, и когда я пытаюсь получить данные из ячейки, используя этот код:
foreach (DataGridViewRow r in this.mydatagrid.Rows)
{
if (Convert.ToBoolean(r.Cells[0].Value) == true)
{
DataGridViewComboBoxCell cc = (DataGridViewComboBoxCell)r.Cells[7];
cc.Value = toolStripComboBox1.SelectedItem.ToString();
edit_subject(Convert.ToInt32(r.Cells[1].Value), r.Cells[7].Value.ToString());
}
возникает ошибка исключения, сообщающая, что ячейки [7] - это OutOfIndex . поэтому я попытался изменить индекс ячейки с 7 до 5, и иногда это работало, а иногда нет.
пожалуйста, мне нужно объяснить, потому что это действительно странно.
1 ответ
Решение
Хорошо, я нашел решение, проблема вызвана тем, что мой синтаксис SQL (источник данных Datagrid) имеет другой порядок, чем столбцы таблицы данных, я не получил его, потому что автозаполнение сетки данных было отключено. и я установил DataPropertyName для каждого столбца вручную.
в любом случае, спасибо за ваш ответ.