彼はリフレクターを取り、アセンブリSystem.Webを開きました。
掘り下げたものは次のとおりです。
GridViewのCreateChildControlsメソッド:
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からコピーして、このコードを自然に変更することです。
先日、私は同様のことをクランクしてみます。