【问题标题】:Gridview finding control in gridviewGridview在gridview中查找控件
【发布时间】:2013-05-13 06:17:28
【问题描述】:

如何在用户定义的函数中找到对 gridview 的控制 ... 这抛出了

DataSet ds = objSelectAll.Paging(PageSize, PageNumber, USERID, ROLEID);

if (Session["Username"].ToString() == "admin")
{ 
    foreach (GridViewRow row in UserRoleGridView.Rows)
    {
        ImageButton ImgEditbtn = (ImageButton)row.FindControl("EditButton");
        ImageButton ImgDelbtn = (ImageButton)row.FindControl("DeleteButton");

        DataSet dsusr = objSelectAll.UserBasedPaging(PageSize, PageNumber, USERID, ROLEID);
        UserRoleGridView.DataSource = dsusr.Tables[1];
        UserRoleGridView.DataBind();

        ...

【问题讨论】:

    标签: asp.net webforms


    【解决方案1】:

    您需要检查当前行是数据行还是标题行。

    用于检查你需要写的行类型

     if(row.RowType == DataControlRowType.DataRow) {
    // do what ever you want
    }
    

    现在你的代码看起来像

      foreach(GridViewRow row in GridView1.Rows) {
            if(row.RowType == DataControlRowType.DataRow) {
          // do what ever you want
    
        }
    }
    

    我希望它能解决你的问题。

    【讨论】:

      【解决方案2】:

      试试这个

      foreach (GridViewRow row in UserRoleGridView.Rows)
                      {
                          ImageButton ImgEditbtn = (ImageButton)row[row.RowIndex].FindControl("EditButton");
                          ImageButton ImgDelbtn = (ImageButton)row[row.RowIndex].FindControl("DeleteButton");
                      DataSet dsusr = objSelectAll.UserBasedPaging(PageSize, PageNumber, USERID, ROLEID);
                      UserRoleGridView.DataSource = dsusr.Tables[1];
                      UserRoleGridView.DataBind();
          }
      

      【讨论】:

        猜你喜欢
        • 2011-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多