#c# #asp.net #gridview #webforms
#c# #asp.net #просмотр сетки #веб-формы
Вопрос:
я использую флажок в gridview..to для получения идентификатора флажка я использую следующий код..
for (int i = 0; i < GridView1.Rows.Count; i )
{
CheckBox chkDelete = (CheckBox)GridView1.Rows.Cells[0].FindControl("chkSelect");
if (chkDelete != null)
{
if (chkDelete.Checked)
{
strID = GridView1.Rows.Cells[1].Text;
idCollection.Add(strID);
}
}
}
НО КЛЮЧЕВОЕ СЛОВО «ЯЧЕЙКИ» .. не поддерживается .. я получаю сообщение об ошибке ..»System.Web.UI.WebControls.GridViewRowCollection’ не содержит определения для ‘ячеек’ «
Комментарии:
1. Я не знаю, почему вы зацикливаете инструкцию, поскольку вы жестко кодируете значения для ячеек, таких как cells [0] и cells[1] что, если вам нужны другие строки данных
Ответ №1:
Именно так вы должны проверять
foreach (GridViewRow grRow in grdACH.Rows)
{
CheckBox chkItem = (CheckBox)grRow.FindControl("checkRec");
if (chkItem.Checked)
{
strID = ((Label)grRow.FindControl("lblBankType")).Text.ToString();
}
}
Комментарии:
1. если (chkItem. Проверено) { } как с помощью приведенного выше кода решить, какой флажок установлен
2. Вы получите соответствующий элемент управления, и если он установлен, он обязательно покажет вам, что вы пробовали это, или же опубликуйте дизайн своей страницы aspx, чтобы я предоставил в соответствии с вашим требованием
3. Имя
gridivew
в его случае это значение по умолчаниюGridView1
Ответ №2:
Это верно; GridViewRowCollection
класс не содержит ни метода, ни свойства с именем Cells
. Причина, по которой это имеет значение, заключается в том, что Rows
свойство GridView
элемента управления возвращает GridViewRowCollection
объект, и при вызове GridView1.Rows.Cells
выполняется поиск Cells
свойства в GridViewRowCollection
объекте, возвращаемом Row
свойством.
Ответ №3:
for (int i = 0; i < GridView1.Rows.Count; i )
{
CheckBox chkDelete = (CheckBox)GridView1.Rows[i].FindControl("chkSelect");
if (chkDelete != null)
{
if (chkDelete.Checked)
{
strID = GridView1.Rows[i].Cells[1].Text;
idCollection.Add(strID);
}
}
}
Ответ №4:
foreach (GridViewRow rowitem in GridView1.Rows)
{
CheckBox chkDelete = (CheckBox)rowitem.Cells[0].FindControl("chkSelect");
if (chkDelete != null)
{
if (chkDelete.Checked)
{
strID = rowitem.Cells[1].Text;
idCollection.Add(strID);
}
}
}