Как решить это исключение "индекс был вне диапазона. Должно быть неотрицательным и меньше размера коллекции. Имя параметра: индекс"
else { lblErrorPK.Text = "Don't change " + ColumnName + " Column"; // Session["ErrorColumn"] = lblErrorPK.Text; string ColNames = string.Empty; int count=0; for (int row = 0; row < dt.Columns.Count; row++) { foreach (DataColumn column in dt.Columns) { string FcName = column.ToString(); if (ColumnName == FcName) { count++; break; } else { count++; continue; } } break; } Grddataset.Columns[count].Visible = false; Grddataset.DataSource = dt; Grddataset.DataBind(); }
Что я уже пробовал:
сопоставление столбцов набора данных с одной строкой
с помощью этого строкового индекса я хочу скрыть этот столбец в GridView.
F-ES Sitecore
Вероятно, вам не нужно "count++;" перед "break;", кроме того, ваш код выдаст эту ошибку, если не будет найдено совпадающее имя, поэтому вам нужно "if" вокруг трех строк Grddataset, которые запускают эти строки только в том случае, если count меньше количества столбцов в Grddataset.