MvcContrib GridのAutoGenerateColumns機能が気に入っていますが、単純なオブジェクトでしか機能しないようです。複雑なオブジェクトのプロパティをトラバースすることは可能ですか? または、これを手動で行う必要がありcolumn.For()
ますか?
例として、プロパティの 1 つとして Address オブジェクトを持つ User オブジェクトがあります。
MvcContrib GridのAutoGenerateColumns機能が気に入っていますが、単純なオブジェクトでしか機能しないようです。複雑なオブジェクトのプロパティをトラバースすることは可能ですか? または、これを手動で行う必要がありcolumn.For()
ますか?
例として、プロパティの 1 つとして Address オブジェクトを持つ User オブジェクトがあります。
いいえ。グリッドは、プロパティの単一レイヤーのみをループします。MVCContrib Grid は、オブジェクトに再帰的にドリルダウンしません。
ソースを見ると:
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);
}
}