<asp:TemplateColumn>
<ItemTemplate>
<asp:label id="LAL_Delid" runat="server" text='<%# DataBinder.Eval(Container.DataItem, "stencil_id") %>' Visible=False>
</asp:label>
<asp:CheckBox id="chk_Del" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="项目序号">
<HeaderStyle Width="60px"></HeaderStyle>
<ItemTemplate>
<asp:Label id="lal_ID" runat="server" text='<%# DataBinder.Eval(Container.DataItem,"indexId")%>'/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="Textbox5" runat="server" Width="100%" Text='<%# DataBinder.Eval(Container.DataItem,"indexId")%>'/>
</EditItemTemplate>
</asp:TemplateColumn>
======================
我想
private void DataGrid1_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgs e)
{
   Response.Write(e.Item.Cells[1].Text);
}
为什么找不到呢 如何才能找到?我要实现的功能是 当e.Item.Cells[1].Text等于AA后 同行的CheckBox 变成隐藏

解决方案 »

  1.   

    用((Label)e.Item.Cells[1].FindControl("lal_ID")).Text
      

  2.   

    Response.Write((Label)(e.Item.Cells[1].FindControls(="lal_ID")).Text);
      

  3.   

    private void DataGrid1_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
       if(((Label)e.Items.FindControl("LAL_Delid")).Text=="AA")
       {
         ((CheckBox)e.Items.FindControl("chk_Del")).visible=flase;
       }
    }
      

  4.   

    写错
    Response.Write((Label)(e.Item.Cells[1].FindControls("lal_ID")).Text);
      

  5.   

    private void DataGrid1_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
       if (e.Item.ItemType == ListItemType.Item||e.Item.ItemType == ListItemType.AlternatingItem)
           if(((Label)e.Items.FindControl("LAL_Delid")).Text=="AA")
           {
             ((CheckBox)e.Items.FindControl("chk_Del")).visible=flase;
           }
    }
      

  6.   

    用cpp2017(幕白兄) 的方法。
    先用FindControl方法获取模板列中的控件再取值。