我正在进行一个小项目,涉及使用实体框架和 asp.net mvc3 在矩阵视图中显示多对多关系数据库。涉及到的三个表是SalesPerson(行标签)、Product(列标签)和Sales:
如何在 asp.net mvc3 中开发/生成这种视图?
<table>
<tr>
<th></th>
@foreach (var m in Model)
{
foreach (var p in m.Products)
{
<th>@p.ProductName</th>
}
}
</tr>
@foreach (var m in Model)
{
foreach (var s in m.SalesPersons)
{
<tr>
<td>@s.PersonName</td>
</tr>
}
}
@*Sales: a.Amount*@
</table>
使用与此类似的 LINQ 查询转换数据
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)
};
生成表行就很容易了
@foreach (var tableRow in salesTable)
{
<tr>
<td>@tableRow.rowKey</td>
@foreach (var sale in tableRow.rowData)
{
<td>@sale.Amount</td>
}
</tr>
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)