Lumber room
April 2009 1

Почему GridView убирает все оформление при пустом DataSource

Задался данным вопросом недавно.
Взял рефлектор, открыл сборку System.Web

Вот что нарыл:

Метод CreateChildControls у GridView:
switch (count)
{
case -1:

// удалено

case 0:
if ((this.EmptyDataTemplate != null) || (this.EmptyDataText.Length > 0))
{
this.CreateRow(-1, -1, DataControlRowType.EmptyDataRow, DataControlRowState.Normal, dataBinding, null, array, rows, null);
}
else
{
// Вот она пакость...
this.Controls.Clear();
}
this._storedDataValid = false;
this._firstDataRow = null;
return 0;
}


* This source code was highlighted with Source Code Highlighter.

Метод обхода — наследоваться от GridView, перегружать CreateChildControls, копировать содержимое этого метода из System.Web, естественно, изменив данный кусок кода.

На днях попробую подобную штуку провернуть.
+4
300 0
Comments 3
Top of the day