DataSourceが空のときにGridViewがすべてのデザインを削除する理由

最近この質問をしました。

彼はリフレクターを取り、アセンブリ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からコピーして、このコードを自然に変更することです。



先日、私は同様のことをクランクしてみます。



All Articles