如何用DataRelation解决主表对从表的合计?

解决方案 »

  1.   

    DataColumn.Expression 属性  [C#]...
    父/子关系引用通过在列名称前面加 Parent,就可以在表达式中引用父表。例如,Parent.Price 引用父表的名为 Price 的列。通过在列名称前面加一个 Child,就可以在表达式中引用子表中的列。但是,因为子关系可以返回多行,所以必须在聚合函数中包括对子列的引用。例如,Sum(Child.Price) 将返回子表中名为 Price 的列的总和。如果某个表有多个子表,则语法是:Child(RelationName)。例如,如果某个表有两个子表,它们的名称分别为 Customers 和 Orders,则 DataRelation 对象被命名为 Customers2Orders,引用将为:Avg(Child(Customers2Orders).Quantity)聚合支持下列聚合类型:Sum(求和)Avg(平均)Min(最小值)Max(最大值)Count(计数)StDev(统计标准偏差)Var(统计方差)。聚合通常沿着关系执行。通过使用上面列出的函数之一和上面“父/子关系引用”中详述的子表列,来创建聚合表达式。例如:Avg(Child.Price)Avg(Child(Orders2Details).Price)聚合也可以在单个表上执行。例如,若要为名为“Price”的列中的数字创建汇总,就用:Sum(Price)
      

  2.   

    使用ADO.NET 中的表达式来处理
    http://www.microsoft.com/china/MSDN/library/data/dataAccess/ADONETEXP.mspx