MVCContrib Grid中的優雅Action Syntax爲我們提供了Empty()
方法。但是,默認行爲MvcContrib.UI.Grid.GridRenderer<T>.RenderHeader()
是隱藏當表格列標題爲空格時。有沒有一種方法來顯示標題,當數據不存在,不需要重大重構?MVCContrib表格空白時顯示標題的網格?
現在我聽說隱藏標頭默認和硬編碼的東西,但這對我來說並不酷。
順便說一句,這是什麼是引擎蓋下發生(在MvcContrib.UI.Grid.GridRenderer<T>
):
protected virtual bool RenderHeader()
{
//No items - do not render a header.
if(! ShouldRenderHeader()) return false;
RenderHeadStart();
foreach(var column in VisibleColumns())
{
//Allow for custom header overrides.
if(column.CustomHeaderRenderer != null)
{
column.CustomHeaderRenderer(new RenderingContext(Writer, Context, _engines));
}
else
{
RenderHeaderCellStart(column);
RenderHeaderText(column);
RenderHeaderCellEnd();
}
}
RenderHeadEnd();
return true;
}
protected virtual bool ShouldRenderHeader()
{
return !IsDataSourceEmpty();
}
protected bool IsDataSourceEmpty()
{
return DataSource == null || !DataSource.Any();
}
我不想禁用MVCContrib默認功能......我們需要尋找正規的擴展點...... – rasx 2010-08-03 18:10:38
我現在看到...我已經有一個'正式的可擴展性'工作;它是子類'GridRenderer'---我所要做的(似乎)是重寫'RenderHeader()'... –
rasx
2010-08-03 18:24:34