更改GridView中列的标题文本

Man*_*ana 25 c# asp.net gridview

我有一个GridView,我使用c#代码以编程方式绑定.问题是,列直接从数据库获取其标题文本,这在网站上呈现时看起来很奇怪.所以基本上,我想修改列标题文本,但编程方式.我已经尝试了以下,

testGV.Columns[0].HeaderText = "Date";
Run Code Online (Sandbox Code Playgroud)

this.testGV.Columns[0].HeaderText = "Date";
Run Code Online (Sandbox Code Playgroud)

似乎没有给我正确的结果.

Tim*_*ter 50

您应该在GridView的RowDataBound事件中执行该操作,该事件在数据绑定GridViewRow 之后被触发.

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.Header)
    {
        e.Row.Cells[0].Text = "Date";
    }
}
Run Code Online (Sandbox Code Playgroud)

或者您可以设置AutogenerateColumnsfalse与声明上添加ASPX列:

<asp:gridview id="GridView1" 
  onrowdatabound="GridView1_RowDataBound"
  autogeneratecolumns="False"
  emptydatatext="No data available." 
   runat="server">
    <Columns>
         <asp:BoundField DataField="DateField" HeaderText="Date" 
            SortExpression="DateField" />
    </Columns>
</asp:gridview>
Run Code Online (Sandbox Code Playgroud)


小智 14

我觉得这个有用:

 testGV.HeaderRow.Cells[0].Text="Date"
Run Code Online (Sandbox Code Playgroud)