【发布时间】:2017-01-21 07:38:22
【问题描述】:
我在一个旧的 Winforms 网格上做一些工作,我有两个模型,我试图将它们展平并分配给一个 DataGridView。
这是我的示例模型。
public class StockItem
{
public string StockName { get; set; }
public int Id { get; set; }
public List<Warehouse> Warehouses { get; set; }
}
public class Warehouse
{
public string WarehouseName { get; set; }
public int Id { get; set; }
}
数据的工作方式必须首先创建一个仓库,然后分配给每个StockItem。 StockItem 可能拥有所有仓库,也可能只有一个。
我需要展平数据,以便网格显示StockName,然后显示库存项目的所有关联仓库。
例子
StockCode1 Warehouse1 Warehouse2 Warehouse3
StockCode2 Warehouse1 Warehouse2
StockCode2 Warehouse1 Warehouse3
我尝试通过 Linq 查询来执行此操作,但只能获取每个 StockItem\Warehouse 的记录。
【问题讨论】:
-
也许这会有所帮助? stackoverflow.com/questions/6428940/…
-
这并不是真正的扁平化,而是交叉表/旋转
-
生成的数据类型是什么?与
StockItem关联的可能仓库数量是否有上限?我对 WinFormsDataGridView不熟悉,所以我可能缺少一些东西,但您不必将它绑定到强类型对象的集合吗?如果仓库数量不定,您似乎无法做到这一点。 -
你能创建一段代码并分享你是如何构建数据的吗?但一般来说,您应该能够使用 LINQ 查询获取数据。
标签: c# linq datagridview models