如果之前已经回答过,请指出我的意见;我找不到任何相似的东西。
我的情况:
现在,我需要显示子关系中的一个或多个列,同时保持从ParentTable(= table1)追加,更新和删除行的能力。
我尝试将BindingSource指向DataRelation,但是,它只显示来自一个表的数据。作为另一种选择,我现在尝试使用表达式创建计算列,使用以下方式查找子数据:
[table1].Columns.Add("[columnname]", GetType(System.String), _
"Child([datarelation name]).[columnname from childtable]")
然而,由于'无法解释位置1处的令牌'Child'而失败。我想这是因为该计划期待多个结果。所以,我的问题是:\
答案 0 :(得分:0)
对子列的引用必须在聚合函数中,因为子关系可能返回多行。如果您的父行映射到一个子行,您还可以使用一些聚合函数(如Min,Max,Sum,Avg)来获得与列值本身相同的结果。例如,这将起作用:
[table1].Columns.Add("[columnname]", GetType(System.String), "Sum(Child([datarelation name]).[columnname from childtable])")