如何更改GridView中列的标题文本?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (49)

我有一个GridView,我用C#代码编程绑定。问题是,列直接从数据库获取他们的标题文本,这可能在网站上看起来很奇怪,所以我想改变它,但以编程方式使用C#代码。我已经试过了,

testGV.Columns[0].HeaderText = "Date";

要么

this.testGV.Columns[0].HeaderText = "Date";

提问于
用户回答回答于

你应该在GridView的RowDataBound事件中执行此操作,该事件在数据绑定之后为每个GridViewRow触发。

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

或者可以将AutogenerateColumns设置为false,并在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>
用户回答回答于

我认为这是可行的:

 testGV.HeaderRow.Cells[0].Text="Date"

扫码关注云+社区