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 для каждого столбца вручную.

в любом случае, спасибо за ваш ответ.

Другие вопросы по тегам