我正在嘗試創建一個非常動態的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)
都很好,但我的問題是與行。我會試着解釋...
對於這個問題,讓我們說我們有名稱和地址兩列。
我有一個行對象的集合,讓我們說SearchResult對象。 SearchResult包含任何數量的屬性的字典,例如姓名,地址,電話,身高,胸罩大小或任何東西(考慮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
等