Я использую следующий код для этого:
Добавленные мной if
утверждения важны.
В противном случае (в зависимости от того, как вы визуализируете свою сетку) вы будете выдавать исключения вроде:
Таблица должна содержать разделы строк в порядке заголовка, тела и нижнего колонтитула.
protected override void OnPreRender(EventArgs e)
{
if ( (this.ShowHeader == true && this.Rows.Count > 0)
|| (this.ShowHeaderWhenEmpty == true))
{
//Force GridView to use <thead> instead of <tbody> - 11/03/2013 - MCR.
this.HeaderRow.TableSection = TableRowSection.TableHeader;
}
if (this.ShowFooter == true && this.Rows.Count > 0)
{
//Force GridView to use <tfoot> instead of <tbody> - 11/03/2013 - MCR.
this.FooterRow.TableSection = TableRowSection.TableFooter;
}
base.OnPreRender(e);
}
Объект this
- это мой GridView.
Я на самом деле переопределил Asp.net GridView, чтобы создать собственный настраиваемый элемент управления, но вы можете вставить это на страницу aspx.cs и ссылаться на GridView по имени вместо использования подхода custom-gridview.
К вашему сведению: я не проверял логику нижнего колонтитула, но я знаю, что это работает для заголовков.