[英]How can I display a matrix table in asp.net mvc3?
I'm on a little project that involves using entity framework and asp.net mvc3 to display many to many relationship database in a matrix view. 我正在进行一个涉及使用实体框架和asp.net mvc3在矩阵视图中显示多对多关系数据库的小项目。 The three tables involved are SalesPerson (Row label), Product(Column label) and Sales: 涉及的三个表是SalesPerson(行标签),产品(列标签)和销售:
How can I develop/generate this kind of view in asp.net mvc3 ? 如何在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>
Transform your data using a LINQ query similar to this one 使用类似于此的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)
};
Generating table rows is then easy 然后,生成表行很容易
@foreach (var tableRow in salesTable)
{
<tr>
<td>@tableRow.rowKey</td>
@foreach (var sale in tableRow.rowData)
{
<td>@sale.Amount</td>
}
</tr>
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.