グリッドとベーステーブルの関係

GeneXusの学習を始めた頃、グリッドに表示されるデータについて疑問に思っていたことがありました。

次のようなレベルを持つトランザクションがあるとします。
レベルを含むトランザクション

このトランザクションの親の項目属性のみの一覧画面を作成すると、下記のようにグリッドに5件表示されます。

親の項目属性のみで作成した一覧画面

次にデータを一切変更せずに、フィルタの項目に“製品名”の項目属性を追加すると、下記のように表示されます。

検索フィルタにレベル項目の製品名の追加した一覧画面

グリッドに同じデータが大量に表示されるようになりました。
グリッドの表示件数を数えてみると、子レベルのテーブルのレコード数と一致します。
これはフィルタの追加前後で、グリッドの「ベーステーブル」が変更になったことが原因です。

  • フィルタの追加前:親の階層のテーブル
  • フィルタの追加後:子の階層のテーブル

GeneXus Wiki – ベーステーブル
http://wiki.genexus.jp/hwiki.aspx?ベーステーブル

普段あまり意識することがないベーステーブルですが、このようにちょっとした変更で表示内容が大きく変わることがあります。

 

システム開発のご相談はこちらからお気軽にお問合せください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です