我在DataGrid的模板列中添加了checkbox控件,可是我不知道如何用语句读取checkbox的状态(是否被选中)
代码如下:
<asp:DataGrid id="DataGrid1" runat="server"  >
   <Columns>
     <asp:TemplateColumn>
        <ItemTemplate>
    <asp:CheckBox id="CheckBox1" runat="server">
              </asp:CheckBox>
        </ItemTemplate>
      </asp:TemplateColumn>
    </Columns>
 </asp:DataGrid>
  求读取checkbox1状态的语句?

解决方案 »

  1.   

    CheckBox cb = (CheckBox)DataGrid1.Rows[0].FindControl("CheckBox1");
    这个cb就是你第一行的checkbox
      

  2.   


    CheckBox check_del;
    for (int i=0 ;i<this.DataGrid1.Items.Count;i++)
    {
    check_del = (CheckBox)this.DataGrid1.Items [i].FindControl ("CheckBox1");
    if (check_del.Checked)
    {
        ....
    }
    }
      

  3.   


    #region //多项删除
    private void Button2_Click(object sender, System.EventArgs e)
    {

    System.Web .UI .WebControls .CheckBox chkbox;
    System.Web .UI .WebControls.DataGridItem dgitem;
        
    for(int i=0;i<MyDataGrid .Items .Count ;i++)
    {
    dgitem =MyDataGrid .Items [i];
    chkbox = (CheckBox)dgitem.FindControl("ChB");
    if(chkbox .Checked )
    { if(del(Convert.ToInt32(dgitem.Cells[3].Text))==0)
    {
    this.Page.Response.Write("<script>alert('删除失败!');history.back();</script>");
    this.Page.Response.End();
    }
    }
    }
    this.Page.Response.Write("<script>alert('删除成功!');location.href=('fenpage.aspx');</script>");

    }参考
      

  4.   

    (CheckBox)this.DataGrid1.Items [i].FindControl ("CheckBox1")
    重点是这句,不会连这句都看不出来是虾米意思吧?