リスト ボックスの例

LANSA WAM

リスト・ボックスの例

以下では複数選択が可能なリスト・ボックスの例で、その結果を生成する際に使用されるテクニックが説明されています。

リスト・ボックスで単一選択のみの場合は、allow_multi_selections、およびそれに関連するプロパティの説明を参照してください。

このリスト・ボックスは複数選択が可能です。(ShiftもしくはCtrlキーを押して複数選択するいう標準的なWindowsの方法を使用)[Produce Report]ボタンがクリックされると、選択したエントリーがWAMに送られ、処理されます。

リスト・ボックスで選択された項目を変更して、[Produce Report]ボタンをクリックします。すると、次のようなリスト内で選択された項目のリストが表示されます。

リスト定義

次の2つのリストを複数選択のリスト・ボックスとしてプログラムする必要があります。

1つめは、#ListBoxで、リスト・ボックスのコンテンツを操作します。これには通常2つのフィールド、つまりコード・フィールドと記述フィールドが含まれています。

2つめのリストは、#Selectedで、2通りの使用方法があります。WAM内のこのリストにはエントリーが追加され、リスト・ボックスが表示される時に#ListBoxのエントリーが事前に選択されているようにします。またこのリストは、ユーザーが選択したエントリーをWAMに返す際にも使用されます。

LANSAエディターのShowPageWebroutineで右クリックすると、リスト・ボックスとプッシュ・ボタンが表示されます。リスト・ボックスをクリックし、[詳細]タブをクリックしてそのプロパティを表示してください。

allow_multi_selectionsはその名の通り複数選択許可を指定するもので、true() は複数選択が可能、そしてfalse() は単一選択のみ可能であることを示します。

  • listnameプロパティには、リスト・ボックスにデータを追加する際に使用する作業リスト名を指定します。
  • codefieldプロパティはリスト・エントリーのコード値を保持するlistnameリスト内のフィールド名です。(この場合、DEPTMENT 部門コード)
  • captionfieldプロパティはリスト・ボックスに表示されるフィールド名です。(この場合、DEPTDESC 部門記述)

これらのエントリーが揃えば、リストボックスにデータを追加しウェブ・ページに表示することができます。
残りの2つのプロパティはリスト・ボックスのエントリーの選択に関係しています。

  • multi_select_listnameプロパティには、選択されたエントリーをWAMに返すリストの名前を指定します。
  • multi_select_codefieldプロパティは選択されたエントリーのコード値を保持するフィールド名です。

メインリストの構築

ソース・エディターでShowPageWebroutineをもう一度見てください。

Web_mapに、リスト・ボックスに関連した2つのリストがあることに注意してください。

Selectループを使用して、DEPTABファイルから全部門がメインリストである#ListBoxに追加されます。

それから、2つのエントリーが#Selectedリストに追加されます。これにより、表示する際リスト・ボックスで管理部と情報システム部が事前選択されます。

選択されたエントリーの処理

ProduceReportWebroutineはWebページ上のプッシュ・ボタンを押した時に呼び出されます。

ここでもWeb_mapに注目してください。選択されたエントリーの入力リスト(#Selected)と、もうひとつ、出力リスト(#Report)です。これらを使用して、選択された部門をリスト表示します。