Как изменить текст заголовка столбца GridView в веб-форме c #? - PullRequest
0 голосов
/ 14 октября 2018

Я хочу изменить текст заголовка столбца 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 голосов
/ 14 октября 2018

Ваш предоставленный код выполняется полностью нормально.ошибка может быть какой-то другой частью.Пожалуйста, предоставьте полный код для лучшего понимания.

Хотя вы можете получить доступ к строке заголовка, вызвав GridView1.HeaderRow properties.

При вызове RowDataBound События, которые запускаются после каждой привязки строки.получить доступ к DataBound событиям в этом случае, который срабатывает только один раз после всей границы Gridview.

вот полный код.

aspx page:

<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";
}
0 голосов
/ 15 октября 2018

Джейсон, в этом нет ничего неправильного с вашим подходом, вам просто нужно Assign GridView1_RowDataBound to your Gridview Вот так

<asp:GridView ID="GridView1" runat="server" OnDataBound="GridView1_DataBound">

и вам позвонят Event, и он будет работать нормально для вас

 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 голосов
/ 14 октября 2018

У вас есть два способа сделать это:

1 - изменить выбранный вами запрос следующим образом:

 Select name as [YourNewName]

2 - установить текст заголовка в методе C #:

 DataGridViewName.Columns[1].HeaderText = "YourNewName";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...