@using (Html.BeginForm("SearchResult", "Search", FormMethod.Get, new { id = "SearchResult", @class = "SerializeSearchResult" }))
{
var grid = new WebGrid(source: Model.GridResult, canPage: true, canSort: true, rowsPerPage: 10);
List<webgridcolumn> cols = new List<webgridcolumn>();
foreach (var metadata in Model.GridResult.Select(r => r.ResultColumns).FirstOrDefault())
{
var col = new WebGridColumn();
col.ColumnName = metadata.FieldName;
col.Header = metadata.FieldName;
col.Style = "gridRow";
col.CanSort = true;
cols.Add(col);
}
foreach (var result in Model.GridResult)
{
foreach (var value in result.ResultColumns)
{
foreach (var col in cols)
{
var metadataValue = result.ResultColumns.Single(m => m.FieldName == col.ColumnName).FieldValue;
col.Format = (item) => @Html.Raw("<text>" + metadataValue + "");
}
}
}
if ((this.Model != null) && (this.Model.GridResult != null) && (this.Model.GridResult.Count() > 0))
{
@grid.GetHtml(htmlAttributes: new { id = "documentGrid" }, rowStyle: "gridRow", alternatingRowStyle: "gridRowAlt", columns: cols)
}
}
From the above code :
foreach (var result in Model.GridResult)
{
foreach (var value in result.ResultColumns)
{
foreach (var col in cols)
{
var metadataValue = result.ResultColumns.Single(m => m.FieldName == col.ColumnName).FieldValue;
col.Format = (item) => @Html.Raw("<text>" + metadataValue + "</text>");
}
}
}
Alls rows having same values it is not getting dynamic..