Transform your data using a LINQ query like this
var salesTable =
from s in m.Sales
group s by s.SalesPerson.Label into g
select new
{
rowKey = g.Key,
rowData = g.Select(s => new { Product = s.Product, Amount = s.Amount }).OrderBy(s => s.Product.Label)
};
Creating table rows is easy
@foreach (var tableRow in salesTable)
{
<tr>
<td>@tableRow.rowKey</td>
@foreach (var sale in tableRow.rowData)
{
<td>@sale.Amount</td>
}
</tr>
}
source
share