GridView.Rows
индексация коллекции начинается с нуля. Вам нужно инициализировать i
с ноль .
Ошибка возникает, когда значение переменной i
превышает доступные индексы в коллекции GridView.Rows
. Таким образом, если инициализация переменной i
с помощью ноль не решит проблему, то возвращенный набор результатов - прочитанный читателем - содержит больше элементов, чем коллекция GridView.Rows
.
Чтобы убедиться, что значение переменной i
не превышает доступные индексы для коллекции GridView.Rows
, используйте следующее:
while (rdr.Read() && i < gridView.Rows.Count)
Если вам нужно добавить строки в GridView
, используйте следующее:
while (rdr.Read() && i < 3)
{
string fip = rdr["PATH"].ToString();
GridViewRow di = new GridViewRow();
....
gridView.Rows.Add(di);
i++;
}
Другой причиной могут быть индексы, которые вы используете для ссылки на элементы в GridViewRow.Cells
.