手动添加事件,OnCheckedChanged执行服务器端事件CheckAll
<asp:DataGrid id="dgShow" style="Z-INDEX: 101; LEFT: 31px; POSITION: absolute; TOP: 93px" runat="server" Width="842px" Height="172px" BorderColor="Tan" BorderWidth="1px" BackColor="LightGoldenrodYellow" CellPadding="2" GridLines="None" ForeColor="Black" PageSize="1" AutoGenerateColumns="False">
<asp:TemplateColumn HeaderText="选择">
       <HeaderTemplate>
        <asp:CheckBox id="cbAll" runat="server" OnCheckedChanged="CheckAll" Text="全选" AutoPostBack="True"></asp:CheckBox>
       </HeaderTemplate>
       <ItemTemplate>
        <asp:CheckBox id="cbSelect" runat="server" AutoPostBack="True"></asp:CheckBox>
       </ItemTemplate>
      </asp:TemplateColumn>
</asp:DataGrid>

public void CheckAll(object sender, System.EventArgs e)
  {
   CheckBox cbAll = (CheckBox)sender;
   if(cbAll.Text=="全选")
   {
    foreach(DataGridItem dgi in dgShow.Items)
    {
     CheckBox cb = (CheckBox)dgi.FindControl("cbSelect");
     cb.Checked = cbAll.Checked;
    }
   }
  }
  private void btnDelete_Click(object sender, System.EventArgs e)
  {
   foreach(DataGridItem dgi in dgShow.Items)
   {
    CheckBox cb = (CheckBox)dgi.FindControl("cbSelect");
    if(cb.Checked)
    {
     //以下执行删除操作
     int nID = int.Parse(dgi.Cells[0].Text);
     string strSql = "delete from tbStudentinfo where studentid="+nID;
     ExecuteSql(strSql);
    }
   }
   dgShow.CurrentPageIndex = 0;
   BindData();
  }

posted on 2007-11-15 10:22  活着的意义  阅读(248)  评论(0)    收藏  举报