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