1

私は2つのグリッドを持っています。1 つ目はキーを表示し、2 つ目は関連項目のリストを別のテーブルに表示します。グリッドは異なるタブにあるため、2 番目のグリッドのタブの 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 に答える