非常に動的でなければならないWebGridを作成しようとしています。列は、私はそうのようにやったリストで定義されています。高度なASP.NET WebGrid - 動的な列と行
@{
List<WebGridColumn> columns = new List<WebGridColumn>();
foreach (var column in Model.Columns)
{
columns.Add(new WebGridColumn() { ColumnName = column.Name, Header = column.Name });
}
}
@grid.GetHtml(
columns: columns)
すべてが順調と良いが、私が持っている問題は、行です。私は、我々は名前とアドレスのための2つの列を持っているとしましょう、この質問のために...
を試してみて、説明します。
私は行オブジェクトのコレクションを持って、SearchResultオブジェクトを言うことができます。 SearchResultには、Name、Address、Phone、Height、Bra Sizeなどの任意の数の属性のディクショナリが含まれています(EAVパターンと考える)。列名に基づいて属性にアクセスする必要があります。
私はフォーマットを使ってこれを行うことができると考えましたが、わかりません。私はこのような何かしたい:
columns.Add(new WebGridColumn() { ColumnName = column.Name, Header =
column.Header, Format = @<text>@item.Attributes[column.Name]</text> });
作品のこの種のが、別の列の書式を作成するにもかかわらず、行は最後列の形式で読み込まれます。すなわち:
Name Address
1 Main Street 1 Main Street
45 Paradise Av 45 Paradise Av
など