有一个Gridview 结构如下:
<asp:GridView ID="GridView_newsList"   OnPageIndexChanging="changeIndex" 
    FooterStyle-CssClass="headerLine" runat="server"  ShowFooter="false"   ShowHeader="true" PagerStyle-CssClass="headerLine" >
    
               <Columns>
               
                  <asp:TemplateField>
                  <HeaderTemplate>
                      <asp:Label ID="Label_header" runat="server" Text="Label"></asp:Label> </HeaderTemplate>
                    <ItemTemplate>
                     xxxxxxxxxxxxxx
                    </ItemTemplate>
                </asp:TemplateField>                   
               </Columns>
              
               
               <EmptyDataTemplate>
                   empty
               </EmptyDataTemplate>
               
</asp:GridView>如何修改<HeaderTemplate>中的 label_header 的text 属性?新手,找了好多资料都没有搞定.
请教!!!!!

解决方案 »

  1.   

    我只能获取它的值,如:
    Label lb=(Label)GridView_newsList.HeaderRow.FindControl("label_header");
     Response.Write(lb.Text.ToString());怎么修改啊???
      

  2.   

    举个例子:<asp:GridView ID="GridView1" runat="server" OnDataBinding="要开始绑定数据啦" ......
    代码中可以写:protected void 要开始绑定数据啦(object sender,EventArgs args)
    {
        GridView g = sender as GridView;
        foreach (DataControlField fld in g.Columns)
        {
            if (fld.HeaderText == "aaa")
                fld.HeaderText = DateTime.Now.ToShortTimeString();
        }
    }这就可以改变标题。
      

  3.   

    <HeaderTemplate HeaderText="aaa">
                          <asp:Label ID="Label_header" runat="server" Text="Label"></asp:Label> </HeaderTemplate>
    你给它一个初始Text值,好让程序找到它(不论它改变到那一列位置)。
      

  4.   

    哦, 上面从你的代码复制错行了,应该是:asp:TemplateField HeaderText="aaa">>
                         xxxxxxxxxxxxxx
                        </ItemTemplate>
                    </asp:TemplateField>     
      

  5.   

    (GridView1.HeaderRow.FindControl("Label_header") as Label).Text = "abc";