我的数据表中有三列。
1)产品ID
2)ProductParentID
3)产品总数
ProductID和ProductParentID是自我重构列,我可以根据我的关系设置父子关系并获取子行。让我们说我有以下数据
产品1
Product11
Product12
Product13
Product131
Product132
Product133
产品2
Product21
Product22
Product23
在“产品总计”列中的上述层次结构旁边,我想要的是每个子行的总和,并且这些子行的总和应该累计到它的父产品。 例如,如果产品131总数为10,产品13总数为15,产品133总数为5,那么产品13总数应为30.逻辑应适用于n个自身层级。
数据表本身是否有任何功能,我可以实现这一点而无需遍历每一行并手动完成?
感谢。
答案 0 :(得分:1)
你看过DataRelation了吗?在你的情况下: -
DataRelation productRelation= new DataRelation("ProductRelation",
oDs.Tables["Product"].Columns["ProductId"],
oDs.Tables["Product"].Columns["ProductParentId"]);
dataSetObj.Relations.Add(productRelation);
然后使用LINQ to DataSet来实现SO中描述的here。