1

我有两个网格。第一个显示键,第二个显示另一个表中的相关项目列表。由于网格位于不同的选项卡上,因此我在第二个网格选项卡的 pageActivated 方法上放置了一个过滤器。

一些伪代码可以在不发布 200 行 x++ 的情况下表达我的观点

override page2Activated() {
    dataSource2_ds.removeFilter();
    dataSource2_ds.filter using grid1Field.valueStr();
}

这很好用,只要在打开表单时 grid1 中有行。如果打开表单时没有行,即使在向 grid1 添加行之后,也不会更新某些内容,并且 grid2 将始终为空白。

然后,我尝试查看数据源而不是网格字段。

override page2Activated() {
    dataSource1 firstTable;
    firstTable = dataSource1_ds.getFirst(true);
    dataSource2_ds.removeFilter();
    dataSource2_ds.filter using firstTable.recID;
}

这个问题在于,它只有在您单击记录旁边的复选框时才有效。

我想在 grid1 中使用突出显示的记录,而不必单击复选框。

有什么建议么?

4

1 回答 1

0

问题在上面的评论中回答。发布为答案,以便可以将问题标记为已关闭。

与其使用代码手动过滤记录,不如使用数据源属性 JoinSource 和 LinkType 链接表。将 JoinSource 设置为链接表,将 LinkType 设置为 Active。

于 2013-04-14T21:18:10.493 回答