<itemTemplate>
            <asp:CheckBox id="Chkbox" Checked='<%# (DataBinder.Eval(Container.DataItem,"sub","{0}")=="1")?true:false%>' OnCheckedChanged="subs" AutoPostBack="True" runat=server />
            </itemtemplate>
</asp:Templatecolumn>写事件时
public void subs(Object sender, EventArgs E)
{
CheckBox CB=(CheckBox)datelist.Items[?].FindControl("Chkbox");

....
}

解决方案 »

  1.   

    CheckBox CB=(CheckBox)this.DataGrid3.Items[i].Cells[0].Controls[1];;
    if(CB.Checked)
    {
      

  2.   

    DataGridItem dgItem=(DataGridItem)((CheckBox)sender).Parent.Parent;
    CheckBox CB=(CheckBox)dgItem.FindControl("Chkbox");
      

  3.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=FF130C7F-3650-4DA6-8943-8AA4AF3E3459
    经典例子,对你绝对有帮助.
      

  4.   

    如何取得和它同一行的另一个列中的TEXT呢
    Response.Write(dgItem.Controls[1].?);
      

  5.   

    dgItem.Controls[1].Cells[0].Text……
      

  6.   

    哦,看错了!
    应该是:
    DataGridItem dgItem=(DataGridItem)((CheckBox)sender).Parent.Parent;
    CheckBox CB=(CheckBox)dgItem.FindControl("Chkbox");int i = 0 ; // 1、2、3、4、……
    Response.Write(dgItem.Cells[i].Text);
      

  7.   

    哦,看错了!
    应该是:
    DataGridItem dgItem=(DataGridItem)((CheckBox)sender).Parent.Parent;
    CheckBox CB=(CheckBox)dgItem.FindControl("Chkbox");int i = 0 ; // 1、2、3、4、……
    Response.Write(dgItem.Cells[i].Text);
      

  8.   

    for(int i=0;i<datelist.Items.count;i++)
    {
        CheckBox CB=(CheckBox)datelist.Items[i].FindControl("Chkbox");
        if(CB.Checked)
        {
           Resopnse.wirte(i); //这个时候当选中CheckBox时就可以取出他的位置了。
        } 
    }
      

  9.   

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