GridView не содержит определения для ячеек?

#c# #asp.net #gridview

#c# #asp.net #gridview

Вопрос:

Я пытаюсь использовать следующий код, чтобы проверить, установлен ли хотя бы один флажок. И если установлен флажок, текстовое поле в этой строке имеет некоторое значение. Но это выдает мне ошибку, когда я использую Cells

Ошибка заключается в том, что Gridview не содержит определения для «ячеек», и не удалось найти метод расширения «Ячейки», принимающий первый аргумент типа GridView.

Я не уверен, почему это выдает мне эту ошибку.

 private Boolean checkIfChecked()
    {
        int check = 0;

        foreach (GridView row in gvPizzaOrder.Rows)
        {
            CheckBox chk = row.Cells[0].Controls[1] as CheckBox;
            if (chk.Checked)
            {
                check  ;
                TextBox quantity = row.Cells[3].Text as TextBox;
                if (quantity.Text == "")
                {
                    return false;
                }

            }
        }//end forreach

        if (check == 0)
        {
            return false;
        }
        else
            return true;
    }//end checkIfChecked
  

Ответ №1:

Вы должны использовать GridViewRow, чтобы ваш код был:

 foreach (GridViewRow row in gvPizzaOrder.Rows)
{
    CheckBox chk = row.Cells[0].Controls[1] as CheckBox;
    if (chk.Checked)
    {
        check  ;
        TextBox quantity = row.Cells[3].Text as TextBox;
        if (quantity.Text == "")
        {
            return false;
         }

     }
}