private void gridDeptContact_SelectedIndexChanged(object sender, System.EventArgs e)
{   Label lblDeptName = (Label)gridDeptContact.SelectedItem.Cells[2].FindControl( "lblDeptName" );   // do sth ... }现在lblDeptName.Text == "";DataGrid中共有3个列
两个按钮列和这个模板列

解决方案 »

  1.   

    比如有一个lable模板列
    <asp:TemplateColumn HeaderText="状态">
    <HeaderStyle Wrap="False" Width="80px"></HeaderStyle>
    <ItemStyle Wrap="False"></ItemStyle>
    <ItemTemplate>
    <asp:Label id="Label1" runat="server" Width="87px"></asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    后台
    private void datagrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem)  || (e.Item.ItemType == ListItemType.SelectedItem))
    {  Label  Label2 = (Label) e.Item.FindControl("Label1"); 
    Label2.Text = "这里"
      

  2.   

    我需要在SelectIndexChange事件中进行处理
      

  3.   

    gridDeptContact.SelectedItem.findcontrol("labelId")
      

  4.   

    private Label  Label2;
    SelectIndexChange(){
     Label2= (Label) e.Item.FindControl("Label1"); 
    }
      

  5.   

    to smallMage:这不是 DeleteCommand, 跟本就不能写成 Label2= (Label) e.Item.FindControl("Label1"); 
    我的问题还没有解决,大家继续
      

  6.   

    應該是selectindex沒有設置,按照你的代碼,你的selectindex=-1.所以label為空.
    先讓selectindex等于新值試試.
      

  7.   

    to: Joy_Zhao() 
        在你能够处理SelectedIndexChange事件的之前,SelectedIndex的值就已经被设置了,而且可以看到当前条目已被选择(因为设置了当选条目的样式) 
        
       大家试验成功了以后再发表意见好吗,谢谢了