我有一个 GridView,我使用 C# 代码以编程方式绑定(bind)它。 问题是,列直接从数据库获取标题文本,这在网站上显示时看起来很奇怪。所以基本上,我想以编程方式修改列标题文本。 我已经尝试过以下,
testGV.Columns[0].HeaderText = "Date";
和
this.testGV.Columns[0].HeaderText = "Date";
似乎没有给我正确的结果。
最佳答案
您应该在 GridView 的 RowDataBound
中执行此操作为每个 GridViewRow
在数据绑定(bind)后触发的事件。
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>
关于c# - 更改 GridView 中列的标题文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13013241/