四、初学.NET—Gridview外部按钮选中、删除一行

前端:.apx

首先:设置GridView的DataKeyNames属性字段为数据表的主键

<asp:GridView ID="gv_ReviewOption" runat="server" AutoGenerateColumns="False"

        DataKeyNames="ReviewOptionID" />

在GridView中添加一模板列:

<asp:TemplateField HeaderText="选择" ItemStyle-Width="60px">

         <ItemTemplate>

             <asp:CheckBox ID="cb_ReviewOption" runat="server" />

         </ItemTemplate>

          <ItemStyle Width="60px"></ItemStyle>

      </asp:TemplateField>

在GridView外部加全选或不选按钮:

前端:<asp:Button ID="btn_SelectedAll" runat="server" Text="全选"

        onclick="btn_SelectedAll_Click"  />

    <asp:Button ID="btn_SelectedNone" runat="server" Text="取消"

        onclick="btn_SelectedNone_Click" />

后台:实现遍历全选或一个都不选

protected void btn_SelectedAll_Click(object sender, EventArgs e)

    {

        foreach (GridViewRow gvr in gv_ReviewOption.Rows)

        {

            CheckBox cb = gvr.FindControl("cb_ReviewOption") as CheckBox;

            cb.Checked = true;

 

        }

    }

    protected void btn_SelectedNone_Click(object sender, EventArgs e)

    {

        foreach (GridViewRow gvr in gv_ReviewOption.Rows)

        {

            CheckBox cb = gvr.FindControl("cb_ReviewOption") as CheckBox;

            cb.Checked = false;

 

        }

    }

GridView外部按钮删除一行或多行数据:

  前端:<asp:Button ID="btn_Del" runat="server" Text="删除"

        OnClientClick="return confirm('确定要删除吗?')" onclick="btn_Del_Click"/>

后台代码:实现选中行的删除功能

protected void btn_Del_Click(object sender, EventArgs e)

    {

        int number = 0;

        for (int i = 0; i < gv_ReviewOption.Rows.Count; i++)

        {

            CheckBox cb = (gv_ReviewOption.Rows[i].FindControl("cb_ReviewOption")) as CheckBox;

            if (cb.Checked)

            {

                using (SqlConnection conn = new SqlConnection(sConnectionString))

                {

                    conn.Open();

                    {

                        using (SqlCommand cmd = new SqlCommand("delete from tbReviewOption where ReviewOptionID='" + gv_ReviewOption.DataKeys[i].Value + "'", conn))

                        {

                            number = number + cmd.ExecuteNonQuery();

                        }

                    }

                }

            }

         }

        Page.ClientScript.RegisterStartupScript(this.GetType(), "", string.Format("<script>alert('{0}条记录成功删¦除')</script>", number));

        SetBind();

    } 

posted on 2013-04-10 18:58  众里寻他千万度  阅读(378)  评论(0)    收藏  举报

导航