#c# #asp.net
#c# #asp.net
Вопрос:
У меня есть представление сетки со столбцами Boundfield, и я пытаюсь заменить текст заголовка Boundfield в коде после загрузки страницы. Согласно бизнесу, HeaderText должен измениться, но в моем случае текст меняется не сразу.
<asp:GridView ID="sampleGrid" runat="server" OnRowDataBound="sampleGrid_RowDataBound" OnSorting="sampleGrid_Sorting">
<Columns>
<asp:BoundField HtmlEncode="False" HeaderText="Name" DataField="Name" SortExpression="Name" />
</Columns>
</asp:GridView>
Код, лежащий в основе:
protected void sampleGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row != null)
{
sampleGrid.Columns[0].HeaderText = "text";
}
}
Я добавил основную логику своего кода. Пожалуйста, дайте мне знать, если есть какое-либо решение моей проблемы.
Заранее спасибо за помощь!!
Ответ №1:
Вы можете установить значение строки заголовка на уровне ячейки в событии RowDataBound.
protected void sampleGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[0].Text = "text";
}
}
Обновить
if (e.Row.RowType == DataControlRowType.Header)
{
LinkButton lb = e.Row.Cells[0].Controls[0] as LinkButton;
lb.Text = "text";
}
Комментарии:
1. Спасибо за ответ, который я добавил, как вы упомянули на уровне ячеек, но строки просто потеряли функциональность щелчка. Ранее у меня была функция Click для моей строки, где я мог сортировать по Asc и desc
2. Извините за неудобства!! Я обновил код и добавил выражение сортировки.
3. да, вы правы. Но я говорю, что не могу щелкнуть строку после добавления текста на уровне ячейки, и в моем случае я сортирую столбцы после щелчка.
4. Сортируемый заголовок — это кнопка ссылки. Так что просто найдите это и измените его текст. Смотрите обновление.
Ответ №2:
Вы можете попробовать следующее
protected void sampleGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
LinkButton headerText = e.Row.Cells[0].Controls[0] as LinkButton;
headerText.Text = "Michel";
}
}
Комментарии:
1. Спасибо за ответ