GridView控件的批量删除操作

 

        1.批量删除

          在进行批量删除时,需要一列选择框,让用户进行选择删除的条目。因此,在GridView 控件的   <Columns></Columns>标签对中加入需要进行选择的选择框控件。

     <asp:TemplateField HeaderText="删除">
                            <ItemTemplate>
                                <asp:CheckBox ID="del" runat="server" />
                            </ItemTemplate>
                        </asp:TemplateField>

 

        2.删除前确认
         在这里使用Button1按钮进行删除任务,那在进行删除前需要用户进行最后确认,只需要在page_load事件中添加如下一行程序:
        Button1.Attributes.Add("onclick", "return confirm(确认要删除选中项吗?')");
       3.全选记录按钮的事件代码
          当用户单击Button2时,如果Text是全选,执行选中所有的行,并设定该按钮为取消,此时再次单击Button2,就取消所有选择。代码如下
      protected void Button2_Click(object sender, EventArgs e)
      {
          CheckBox cb;
          if (Button2.Text == "全选")
          {
              for (int i = 0; i < GridView1.Rows.Count; i++)
              {
                cb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("del");
                  cb.Checked = true;
              }
              Button2.Text = "取消";
          }
          else
          {
              for (int i = 0; i < GridView1.Rows.Count; i++)
              {
                cb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("del");
                  cb.Checked = false;
              }
              Button2.Text = "全选";
          }
      }
      其中del是CheckBox的ID值

 

    4.删除记录的按钮代码

 

      protected void Button1_Click(object sender, EventArgs e)
      {
          string sql = "delete from Categories where";
          string cal = "";
          for (int i = 0; i < GridView1.Rows.Count; i++)
          {
              CheckBox cb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("del");
              if (cb.Checked==true)
              {
                  cal += " CategoryID=" + GridView1.DataKeys[i].Value.ToString() + " or";
              }
          }
        if (cal != "")
          {
              sql += cal.Substring(0, cal.Length - 3);
          }
          else
          {
            sql = "";
          }

           objConnection = new OleDbConnection(strConnect);
            cmd = new OleDbCommand(sql, objConnection);
            objConnection.Open();
            int ii= cmd.ExecuteNonQuery();
            objConnection.Close();
            if (ii > 0)
            {
                Response.Write("<script>alert('删除成功!');</script>");

                // 更新GridView控件
                gridViewBind(this.TreeView1.SelectedNode.Value);
 
            }
             

       }

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值