我想更改GridView列标题文本,因为它会自动从MSSQL数据库放入。我尝试了这段代码:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[0].Text = "AGENT ID";
e.Row.Cells[0].Text = "NAME";
}
现在,此代码仅更改第一个“列标题”文本。我也尝试过
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[0].Text = "AGENT ID";
e.Row.Cells[1].Text = "NAME";
}
,并且应用这些更改后未显示数据表。
我哪里错了?请尝试提供完整的代码。
答案 0 :(得分:0)
您有两种方法可以做到这一点:
1-更改您选择的查询,例如:
Select name as [YourNewName]
2-用C#方法设置标题文本:
DataGridViewName.Columns[1].HeaderText = "YourNewName";
答案 1 :(得分:0)
您提供的代码完全可以执行。错误可能是其他部分。请提供完整的代码以更好地理解。
尽管您可以通过调用GridView1.HeaderRow
属性来访问“标题行”。
调用RowDataBound
事件时,每行绑定后都会触发。在这种情况下,访问DataBound
事件仅在整个Gridview边界之后触发一次。
这是完整的代码。
aspx页面:
<asp:GridView ID="GridView1" runat="server" OnDataBound="GridView1_DataBound">
后面的代码:
protected void GridView1_DataBound(object sender, EventArgs e)
{
GridView1.HeaderRow.Cells[0].Text = "AGENT ID";
GridView1.HeaderRow.Cells[1].Text = "NAME";
}
答案 2 :(得分:0)
杰森(Jason)并没有错,您只需要 this.populationArray = (() => {return getArray.call(this);})();
这样
Assign GridView1_RowDataBound to your Gridview
您<asp:GridView ID="GridView1" runat="server" OnDataBound="GridView1_DataBound">
会被呼叫,它会为您正常工作
Event