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からコピーして、このコードを自然に変更することです。

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

Source: https://habr.com/ru/post/J56125/


All Articles