Как я могу программно изменить HeaderText моих столбцов сетки в виде сетки? (ASP.NET) - PullRequest
1 голос
/ 31 июля 2010

У меня есть сетка, и я хотел бы иметь возможность программно изменять HeaderText его столбцов (возможно, в событии DataBinding).Я знаю, что обычно этого можно добиться с помощью чего-то подобного:

myGrid.Columns[0].HeaderText = "My Header Text";

Однако рассматриваемый вид сетки фактически вложен в другой вид сетки (через столбец шаблона).Так что я не могу получить к нему доступ напрямую.Я пытаюсь использовать метод FindControl для доступа к нему, но пока это не работает.Есть мысли?

Ответы [ 3 ]

3 голосов
/ 01 августа 2010

Захватите эту дочернюю сетку в событие RowDataboud родительской сетки, и здесь вы можете изменить текст заголовка. Предположим, myGrid - это Parent Grid, а ChildGrid - это дочерняя сетка.

OnRowDataBound="myGrid_RowDataBound"

protected void myGrid_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {

           GridView ChildGrid = (GridView)e.Row.FindControl("ChildGrid");
           ChildGrid.Columns[0].HeaderText = "My Header Text";         
            .
            .
           ChildGrid.Columns[n].HeaderText = "My Header Text";                        
        }
    }
0 голосов
/ 22 февраля 2018

Изменить текст заголовка Gridview с помощью RowData Bound:

Ответ:

if (e.Row.RowType == DataControlRowType.DataRow){
    Gridview1.Columns[0].HeaderText = "New Header Name";
}
0 голосов
/ 01 августа 2010

Захватите ссылку на вложенный gv в событии itemdatabound самого верхнего gv.Затем вы можете попытаться изменить свой заголовок на вложенной ссылке gv.Если это не помогает, вы всегда можете условно показать / скрыть заполнители из вложенного события gv itemdatabound, когда e.item.listitemtype является заголовком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...