gpt4 book ai didi

database - 是否可以使用 foreach 条件在一个单元格中显示多个项目?

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:44 26 4
gpt4 key购买 nike

What I have & what I would like

我认为用图片形象化比解释我想要的更容易。 有什么方法可以使表格看起来像图片上的第二个?现在我有了第一个,但我遇到的问题是我的表格是这样动态填充的:

@model IEnumerable<MyApp.Models.OrderDetail>
@foreach (var item in Model)
{
<tr>

<td align="center">
@Html.DisplayFor(modelItem => item.OrderId)
</td>

<td>
@Html.DisplayFor(modelItem => item.Order.Username)
</td>
<td>
@Html.DisplayFor(modelItem => item.Order.ClientID)
</td>

<td>
@Html.DisplayFor(modelItem => item.Order.SiteNumber)
</td>

<td>
@{
if (item.Pack == null)
{
@Html.DisplayFor(modelItem => item.Product.Name)
}
else
{
<text>Pack</text>
@Html.DisplayFor(modelItem => item.Pack.Name)
}
}
</td>

<td>
@if (item.Pack == null)
{
@Html.DisplayFor(modelItem => item.UnitPrice)
}
else
{
@Html.DisplayFor(modelItem => item.UnitPricePack)
}
</td>

<td align="center">
@Html.DisplayFor(modelItem => item.Quantity)
</td>

<td>
@Html.DisplayFor(modelItem => item.Order.Total)
</td>

<td>
@Html.DisplayFor(modelItem => item.Order.OrderDate)
</td>
</tr>
.....

除了接口(interface),我在互联网上找不到任何相关信息,但在我的水平上它似乎有点复杂,如果我使用它,我必须改变我的所有代码。一个想法 ?我采纳所有建议,谢谢你的帮助

这是我的模型:

订单详情

 public class OrderDetail
{
public int OrderDetailId { get; set; }
public int OrderId { get; set; }
public int ProductId { get; set; }
public int PackId { get; set; }
public int Quantity { get; set; }

[Range(0.00, 100000.00)]
public decimal UnitPrice { get; set; }

[Range(0.00, 100000.00)]
public decimal UnitPricePack { get; set; }


public virtual Product Product { get; set; }
public virtual Pack Pack { get; set; }
public virtual Order Order { get; set; }

public virtual List<Product> Products { get; set; }
public virtual List<Pack> Packs { get; set; }
}

产品

 public class Product
{
[ScaffoldColumn(false)]
public int ProductId { get; set; }

[DisplayName("Pack")]
public int PackId { get; set; }

[Required(ErrorMessage="blabla")]
[StringLength(160)]
[DisplayName("Nom")]
public string Name { get; set; }

[DisplayName("Description")]
[StringLength(200)]
public string Description { get; set; }

[Required(ErrorMessage="blabla")]
[Range(0.00, 10000.00, ErrorMessage="blabla")]
[DisplayName("Prix")]
public decimal Price { get; set; }

public virtual Pack Pack { get; set; }

public virtual List<OrderDetail> OrderDetails { get; set; }
}

和我的 Pack 模型

 public class Pack
{
[ScaffoldColumn(false)]
public int PackId { get; set; }

[DisplayName("blabla")]
public string Name { get; set; }

[DisplayName("blabla")]
public string Description { get; set; }


[Required(ErrorMessage="blabla")]
[Range(0.00, 10000.00, ErrorMessage="blabla")]
[DisplayName("Prix")]
public decimal Price { get; set; }

public List<Product> Products { get; set; }
public virtual List<OrderDetail> OrderDetails { get; set; }
}

最佳答案

假设你有一个像这样的 ViewModel

public class OrderViewModel
{
public int OrderID { set;get;}
public string UserName { set;get;}
public int UserID { set;get;}
public List<OrderItem> Products { set;get;}
public decimal OrderTotal { set;get;}
}

public class OrderItem
{
public string ProductID { set;get;}
public string ProductName { set;get;}
public decimal UnitPrice { set;get;}
public int Quantity { set;get;}
}

现在在你的视野中

@model List<OrderViewModel>
@foreach(var order in Model)
{
<tr>
<td>@order.OrderID</td>
<td>@order.UserName</td>
<td>
<ul>
@foreach(var item in order.Products)
{
<li>@item.ProductName</li>
}
</ul>
</td>
<td>
<ul>
@foreach(var item in order.Products)
{
<li>@item.Quantity</li>
}
</ul>
</td>
<td>
<ul>
@foreach(var item in order.Products)
{
<li>@item.UnitPrice</li>
}
</ul>
</td>
<td>
@order.OrderTotal
</td>
</tr>
}

关于database - 是否可以使用 foreach 条件在一个单元格中显示多个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12282885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com