【发布时间】:2010-05-07 09:07:43
【问题描述】:
我喜欢MvcContrib Grid 的AutoGenerateColumns 功能,但它似乎只适用于简单对象。是否有可能让它遍历复杂对象的属性?或者是否需要使用column.For() 手动执行此操作?
一个例子是一个用户对象,它有一个地址对象作为它的属性之一。
【问题讨论】:
标签: asp.net-mvc mvccontrib mvccontrib-grid
我喜欢MvcContrib Grid 的AutoGenerateColumns 功能,但它似乎只适用于简单对象。是否有可能让它遍历复杂对象的属性?或者是否需要使用column.For() 手动执行此操作?
一个例子是一个用户对象,它有一个地址对象作为它的属性之一。
【问题讨论】:
标签: asp.net-mvc mvccontrib mvccontrib-grid
不。网格仅循环通过单层属性。 MVCContrib Grid 不会递归地深入到您的对象中。
如果你看the source:
foreach(var property in modelMetadata.Properties)
{
if(!property.ShowForDisplay)
{
continue;
}
var column = For(PropertyToExpression(property));
if(!string.IsNullOrEmpty(property.DisplayName))
{
column.Named(property.DisplayName);
}
if(!string.IsNullOrEmpty(property.DisplayFormatString))
{
column.Format(property.DisplayFormatString);
}
}
【讨论】: