大家好,我希望有人能帮助我解决此类问题。 如您在附图中看到的,我有四个表,一个用于部门,一个用于类别,一个用于产品,最后一个InventoryTable
Departments { DeptId, DeptName }
Category {CatId, CategoryName}
Product {PrId, PrName, CatId}
And Inventory {InventoryId, ProductId, DepartmentId, Status}
我想创建一个表,该表显示为所附的图像显示。我想显示每个部门中每个产品的状态以及该产品的总数。
通过这种方式,部门不需要动态填充。我可以手动编写它们。
这是我的模特
public class SummeryOfInventoryModel
{
public Product product { get; set; }
public string productName { get; set; }
public int ProductId { get; set; }
public Department department { get; set; }
public string DepartmentName { get; set; }
public int DepartmentId { get; set; }
public int Status { get; set; }
}
这就是我试图做动作控制器的方式
[HttpGet]
public async Task<ActionResult> GetProductSummery()
{
using (context)
{
return (PartialView("_ProductSummery", await context.Inventory
.Include(p =>p.Product).Include(d =>d.Department)
.GroupBy(m => m.Product.PrName)
.Select(g => new SummeryOfInventoryModel { productName = g.Key, Status = g.Sum(c => c.Status) })
.ToListAsync()));
}
}
但是,这仅给我这样的产品名称和该产品的总状态
Product Totaly
Audio 25
Ford 10
但是我想要的是
Product Ny Paris Berlin Total
Audio 20 5 25
Ford 10 10
Volvo 15 10 25
这是我的PartielView:请帮助,谢谢您的帮助,谢谢
@model IEnumerable<Lager03.Models.SummeryOfInventoryModel>
<p>
</p>
<table class="table">
<tr>
<th>
Produkt
</th>
<th>
Ny
</th>
<th>
Paris
</th>
<th>
Berlin
</th>
<th>
Totalt
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.ProductName)
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
@Html.DisplayFor(modelItem => item.Status)
</td>
</tr>
}
</table>