CheckBox与DataGrid混用&DataSet批量删除数据

.aspx代码

<form id="Form1" method="post" runat="server">
   <p>
    <asp:DataGrid id="dgrdName" runat="server" BorderStyle="None" BorderWidth="1px" BorderColor="#CC9966"
     BackColor="White" CellPadding="4" Font-Size="9pt" Font-Names="verdana" AutoGenerateColumns="False">
     <SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
     <ItemStyle ForeColor="#330099"></ItemStyle>
     <HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
     <FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
     <Columns>
      <asp:TemplateColumn>
       <HeaderTemplate>
        <asp:CheckBox ID="chkAll" OnCheckedChanged="chkAll_changed" Runat="server" AutoPostBack="True"></asp:CheckBox>
       </HeaderTemplate>
       <ItemTemplate>
        <asp:CheckBox ID="chkDel" Runat="server"></asp:CheckBox>
       </ItemTemplate>
      </asp:TemplateColumn>
      <asp:BoundColumn DataField="classid" HeaderText="编号"></asp:BoundColumn>
      <asp:BoundColumn DataField="classname" HeaderText="姓名"></asp:BoundColumn>
     </Columns>
     <PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
    </asp:DataGrid>
   </p>
   <p>
    <asp:Button id="Button1" runat="server" Text="删除所选条目"></asp:Button>
   </p>
  </form>

.aspx.cs后台代码

  protected System.Web.UI.WebControls.DataGrid dgrdName;
  protected System.Web.UI.WebControls.Button Button1;
  SqlConnection myConn; 
  string strSql; 
  SqlDataAdapter myComm; 
  DataSet ds; 
  SqlCommandBuilder nameCmdBd;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if(!IsPostBack) 
   { 
    BindGrid(); 
   } 
  }

private void BindGrid() 
  {//数据绑定
   myConn=new SqlConnection(ConfigurationSettings.AppSettings["SqlConnString"].ToString()); 
   strSql="select * from newsclass"; 
   myComm=new SqlDataAdapter(strSql,myConn); 
   ds=new DataSet(); 
   myComm.Fill(ds,"user"); 
   dgrdName.DataSource=ds.Tables["user"].DefaultView; 
   dgrdName.DataBind(); 
  }

  public void chkAll_changed(object sender,EventArgs e) 
  {//全选
   CheckBox cb=(CheckBox)sender; 
   foreach(DataGridItem i in dgrdName.Items) 
   { 
    CheckBox cb1=(CheckBox)i.FindControl("chkDel"); 
    if(cb.Checked) 
     cb1.Checked=true; 
    else 
     cb1.Checked=false; 
   } 
  }    

  private void Button1_Click(object sender, System.EventArgs e)
  {//删除选择项
   myConn=new SqlConnection(ConfigurationSettings.AppSettings["SqlConnString"].ToString()); 
   strSql="select * from newsclass"; 
   myComm=new SqlDataAdapter(strSql,myConn); 
   ds=new DataSet(); 
   myComm.Fill(ds,"name"); 
   for(int i=0;i<dgrdName.Items.Count;i++) 
   { 
    CheckBox cb=(CheckBox)dgrdName.Items[i].FindControl("chkDel"); 
    if(cb.Checked) 
    { 
     ds.Tables["name"].Rows[i].Delete(); 
    } 
   } 
   nameCmdBd=new SqlCommandBuilder(myComm); 
   myComm.Update(ds,"name"); 
   dgrdName.DataSource=ds.Tables["name"].DefaultView; 
   dgrdName.DataBind(); 
  }

  private void dgrdName_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
  {//分页
   dgrdName.CurrentPageIndex=e.NewPageIndex;
   BindGrid(); 
  } 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值