gpt4 book ai didi

c# - 在 GridView 中显示一对多关系中的单个值

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:02 24 4
gpt4 key购买 nike

我有 3 个表:

订单,订单状态,订单状态定义

一个订单有多个 OrderState,然后有一个 OrderStateDefinition。

我有一个 gridview,我试图在其中仅显示 OrderStates 集合中的一个值 - 已添加的最新 OrderState。

我已经阅读了一些关于子查询的内容,但我不确定如何实现我想要的结果。

抱歉缺少信息,我有一张漂亮的表结构图片,但 stackoverflow 不允许我上传它。

编辑-

好的,我想出了如何做到这一点。当 GridView 被填充时,我使用事件 OnRowCreated 来设置我需要的字段的文本。为了获得我需要的控件,我使用了 e.Row.FindControl。

最后它的代码非常简单。当我最终寻求帮助时,我似乎总能弄清楚这些东西。

 try
{
int orderID = e.Row.RowIndex;

Order order = ShopEntities.Orders.Single(o => o.OrderStateID == orderID);
// I can now get the list of orderstates
OrderStateDefinition osd = order.OrderStates.OrderBy(o => o.Date).Last().OrderStateDefinition;

((Label)e.Row.FindControl("Label2")).Text = osd.State;
}
catch
{
}

最佳答案

我经常发现创建自己的 SQL 来执行此操作更容易。 sql 可能有点复杂,但它比用 c# 搞砸要容易。

关于c# - 在 GridView 中显示一对多关系中的单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6857565/

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