Я модернизирую пользовательский интерфейс старого приложения ASP.Net WebForms. Я использую Bootstrap 3 для этого. Большинство элементов управления легко восстанавливаются, но элемент управления GridView создает определенные проблемы. Bootstrap нуждается в заголовке таблицы, который находится в разделе thead, но элемент управления GridView отображает заголовок внутри секции тела таблицы. я был в состоянии заставить GridView, чтобы сделать заголовок внутри THEAD элемента, используя этот код:ASP.Net WebForms Таблица заголовков таблицы GridView в thead - при сортировке
public class AdvancedGridView : GridView
{
#region Overrides of GridView
protected override void OnPreRender(EventArgs e)
{
if ((ShowHeader && Rows.Count > 0) || ShowHeaderWhenEmpty)
HeaderRow.TableSection = TableRowSection.TableHeader;
if (ShowFooter && Rows.Count > 0)
FooterRow.TableSection = TableRowSection.TableFooter;
base.OnPreRender(e);
}
#endregion
}
Но я все еще есть проблемы. Как только пользователь сортирует таблицу по любому столбцу, элемент управления GridView снова отобразит и переместит заголовок внутри элемента body таблицы.
Как сделать GridView рендерингом своего заголовка внутри элемента thead при его сортировке пользователем?
Я не знаю, как вы делаете свой сорт, и я никогда не использовал PreRender, но я всегда добивался успеха в этом событии RowDataBound: 'if (e.Row.RowType == DataControlRowType.Header) e.Row.TableSection = TableRowSection.TableHeader; ' –
Большое спасибо! Это решение отлично работает для меня. Если вы добавите его в качестве ответа, я приму его как правильное решение. – musium