如何在C#Web表单中更改GridView列标题文本?

时间:2018-10-14 14:24:03

标签: c# database gridview

我想更改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";

    }

,并且应用这些更改后未显示数据表。

我哪里错了?请尝试提供完整的代码。

3 个答案:

答案 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