Всё ещё «Индекс за пределами диапазона»? Выдаёт ошибку пока непонятно с чем связанную.
Данные в dgv кладутся из базы access. Сначала подумал, что это может быть связано с тем, что 5 столбец у dgv на момент попытки занесения в него данных попросту не определён (хз определяется ли автоматом).
В итоге из-за сложностей переноса базы из access вместо определения количества столбцов решил добавить их в файл БД.
Всё ещё не помогло.
В чём может быть проблема?for (int x = 0; x

21 Авг 2019 в 06:58
311 +1
0
Ответы
1

Ошибка "Индекс за пределами диапазона" возникает, когда вы пытаетесь обратиться к ячейке DataGridView с индексом, который выходит за пределы доступного диапазона.

В вашем коде у вас есть цикл, который итерирует переменную x от 0 до 35 включительно. Внутри этого цикла вы обращаетесь к ячейкам DataGridView с индексами 5, x, 6, x, 7, x и 8, x.

Ошибка происходит, вероятно, потому что значение переменной x может выйти за пределы количества строк в DataGridView (если, например, количество строк в DataGridView меньше 36).

Рекомендуется перед обращением к ячейке DataGridView проверить, что индекс находится в пределах допустимого диапазона. Например, вы можете добавить проверку перед установкой значения ячейки в DataGridView:

if (x < dataGridView1.Rows.Count)
{
dataGridView1[5, x].Value = mas[x, 0];
dataGridView1[6, x].Value = mas[x, 1];
dataGridView1[7, x].Value = mas[x, 2];
dataGridView1[8, x].Value = mas[x, 3];
}

Таким образом, вы будете устанавливать значения только в случае, если индекс x находится в пределах количества строк в DataGridView.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир