Всё ещё «Индекс за пределами диапазона»? Выдаёт ошибку пока непонятно с чем связанную. Данные в dgv кладутся из базы access. Сначала подумал, что это может быть связано с тем, что 5 столбец у dgv на момент попытки занесения в него данных попросту не определён (хз определяется ли автоматом). В итоге из-за сложностей переноса базы из access вместо определения количества столбцов решил добавить их в файл БД. Всё ещё не помогло. В чём может быть проблема?for (int x = 0; x
Ошибка "Индекс за пределами диапазона" возникает, когда вы пытаетесь обратиться к ячейке DataGridView с индексом, который выходит за пределы доступного диапазона.
В вашем коде у вас есть цикл, который итерирует переменную x от 0 до 35 включительно. Внутри этого цикла вы обращаетесь к ячейкам DataGridView с индексами 5, x, 6, x, 7, x и 8, x.
Ошибка происходит, вероятно, потому что значение переменной x может выйти за пределы количества строк в DataGridView (если, например, количество строк в DataGridView меньше 36).
Рекомендуется перед обращением к ячейке DataGridView проверить, что индекс находится в пределах допустимого диапазона. Например, вы можете добавить проверку перед установкой значения ячейки в DataGridView:
Ошибка "Индекс за пределами диапазона" возникает, когда вы пытаетесь обратиться к ячейке 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.