Jitendra shekhawat Ответов: 2

Индекс был вне зоны досягаемости. Должно быть неотрицательным и меньше размера коллекции.


ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
TitalcomboBox.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
NametxtBox.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
HPtxtBox.Text = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();
//CPtxtBox.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();
//WPtxtBox.Text = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString();
//AddrstxtBox.Text = dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString();
//CitytxtBox.Text = dataGridView1.Rows[e.RowIndex].Cells[7].Value.ToString();
//StatecomboBox.Text = dataGridView1.Rows[e.RowIndex].Cells[8].Value.ToString();
//PintxtBox.Text = dataGridView1.Rows[e.RowIndex].Cells[9].Value.ToString();
//PEmailtxtBox.Text = dataGridView1.Rows[e.RowIndex].Cells[10].Value.ToString();
//WEmailtxtBox.Text = dataGridView1.Rows[e.RowIndex].Cells[11].Value.ToString();
//GendrcomboBox.Text = dataGridView1.Rows[e.RowIndex].Cells[12].Value.ToString();
//dateTimePicker1.Text = dataGridView1.Rows[e.RowIndex].Cells[13].Value.ToString();
//dateTimePicker2.Text = dataGridView1.Rows[e.RowIndex].Cells[14].Value.ToString();


Что я уже пробовал:

Index was out of range. Must be non-negative and less than the size of the collection.

Kornfeld Eliyahu Peter

По какой линии?

2 Ответов

Рейтинг:
19

CPallini

Ну, сообщение об ошибке ясно: вы пытаетесь получить доступ к несуществующему элементу массива.
Например, если ошибка возникает в

Цитата:
dataGridView1.Ряды[электронный.Параметр rowindex].Клеток[3].Значение.Метод toString();
затем Cells массив, вероятно, имеет всего 3 элемента (просто 0,1,2 действительны индексы).


Jitendra shekhawat

что делать ....?/
slove это проблемы

CPallini

Найдите оскорбительную строку (используйте отладчик или просто внимательно прочитайте все сообщение об ошибке), а затем попытайтесь понять, почему отсутствует ожидаемый элемент.

Jitendra shekhawat

я понимаю проблему...
но как это сделать?...;(

Jitendra shekhawat

https://www.codeproject.com/Questions/1166191/Index-was-out-of-range-Must-be-non-negative-and-le?tab=mostrecent


Полный код этой ссылки

Рейтинг:
0

Patrice T

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

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам.