【发布时间】:2010-08-03 01:26:47
【问题描述】:
MVCContrib Grid 中优雅的Action Syntax 为我们提供了Empty() 方法。但是,MvcContrib.UI.Grid.GridRenderer<T>.RenderHeader() 的默认行为是在网格为空时隐藏表格列标题。有没有办法在不需要重大重构的数据不存在时显示标题?
现在我听说默认隐藏标题和硬编码,但这对我来说并不酷。
顺便说一句,这就是幕后发生的事情(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();
}
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-2 mvccontrib