使用数据关系子数据表中的数据填充列



如果以前有人回答过这个问题,请指出我;我找不到类似的东西。

我的情况:

  • 1 数据网格视图
  • 由绑定源绑定到从数据集 (EF) 的表 1
  • 1 与表 2 有数据关系(一对一)

现在,我需要显示子关系中的一列或多列,同时保留从 ParentTable (=table1) 追加、更新和删除行的功能。

我尝试将绑定源指向 DataRelation,但是,这只显示一个表中的数据。作为另一种选择,我现在尝试使用表达式创建计算列,使用以下方法查找子数据:

[table1].Columns.Add("[columnname]", GetType(System.String), _
    "Child([datarelation name]).[columnname from childtable]")

但是,此操作失败,并显示"无法解释位置 1 处的令牌'子'"。我想这是由于程序期望多个结果。所以,我的问题是:\

  1. 我是否可以将其更改为仅预期 1 个结果并报告此结果,以使新列报告子数据?
  2. 有没有我没有看到的最佳实践?

对子列的引用必须位于聚合函数中,因为子关系可能返回多行。如果父行映射到一个子行,则还可以使用一些聚合函数(如最小值、最大值、总和、平均值)来获得与列值本身相同的结果。例如,这将起作用:

[table1].Columns.Add("[columnname]", GetType(System.String), "Sum(Child([datarelation name]).[columnname from childtable])")

相关内容

  • 没有找到相关文章

最新更新