【问题标题】:checkBox in gridView网格视图中的复选框
【发布时间】:2011-08-06 19:01:41
【问题描述】:

我在 gridview 中使用复选框..获取复选框 id 我正在使用以下代码..

    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);
            }
        }
    }

但是关键字“CELLS”..不支持..我收到一个错误..“System.Web.UI.WebControls.GridViewRowCollection'不包含'Cells'的定义”

【问题讨论】:

  • 我不知道你为什么要循环语句,因为你正在硬编码单元格的值,比如单元格 [0] 和单元格 [1] 如果你需要其他行数据怎么办

标签: c# asp.net gridview webforms


【解决方案1】:
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);
        }
    }
}

【讨论】:

    【解决方案2】:
     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);
                        }
                    }
    
    
                }
    

    【讨论】:

      【解决方案3】:

      这是你必须检查的方式

      foreach (GridViewRow grRow in grdACH.Rows)
          {
              CheckBox chkItem = (CheckBox)grRow.FindControl("checkRec");
              if (chkItem.Checked)
              {
                  strID = ((Label)grRow.FindControl("lblBankType")).Text.ToString();
               }
      }
      

      【讨论】:

      • if (chkItem.Checked) { }如何使用上面的代码来决定哪个复选框被选中
      • 您将获得与该控件相对应的控件,如果选中它,它肯定会显示为已选中您是否尝试过,或者发布您的 aspx 页面的设计,以便我根据您的要求提供
      • gridivew 的名称在他的例子中是默认的GridView1
      【解决方案4】:

      没错; GridViewRowCollection class 不包含名称为 Cells 的方法或属性。重要的原因是GridView 控件的Rows 属性返回一个GridViewRowCollection 对象,当您调用GridView1.Rows.Cells 时,它正在搜索由返回的GridViewRowCollection 对象上的Cells 属性Row 属性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多