<asp:TemplateColumn>
   <HeaderStyle Width="5%" HorizontalAlign="Center"></HeaderStyle>
   <ItemStyle HorizontalAlign="Center"></ItemStyle>
<HeaderTemplate>
   <asp:CheckBox ID="CheckAll"  OnClick="javascript: return select_deselectAll (this.checked, this.id);" 
runat="server" />
</HeaderTemplate>
<ItemTemplate>
   <asp:CheckBox ID="DeleteThis" OnClick="javascript: return select_deselectAll (this.checked, this.id);" 
runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
如何取得CheckAll这个控件,不使用FindControls,因为我是要在ONLOAD的时候执行。

解决方案 »

  1.   

    ((CheckBox)this.DataGrid1.Items[0].Cells[0].Controls[0]).
      

  2.   

    Items代表行,Items[0]代表第一行;
    Cells代表列,Cells[0]代表第一列;
    Controls代表控件集合,Controls[0]就代表第一个控件具体情况lz自己确定哟
      

  3.   

    xyz8554 
    当列不固定的情况,如何处理。行列都不确定,具体是什么情况?
      

  4.   

    //在ONLOAD执行 foreach (System.Web.UI.WebControls.DataGridColumn v_Grc in v_Grd.Columns)
                    {
       if (v_Grc.HeaderText == "修改")
                            {
                               //隐藏。
                            }}
      

  5.   

    那就不好办了,除非用这种极端的办法,循环try一下获取CheckBox chk;
    for(int i=0;i<this.DataGrid1.Items[0].Cells.Count;i++)
    {
    try
    {
    chk=(CheckBox)this.DataGrid1.Items[0].Cells[i].Controls[0];
    break;
    }
    catch{}
    }
      

  6.   

    (chechbox)DataGrid1.HeaderRow.FindControl("CheckAll ")