サポート > リポジトリ > 他モデルの参照 > 関係性のないリストボックスを計算によって連動させる

関係性のない(独立した)2つのリストボックスを計算式によって連動させる方法を紹介します。 R7.8

サンプルの顧客モデルに「血液型」項目と「血液型説明」項目を用意しています。血液型が"(未選択)"の場合、説明欄は空白です。

図1 サンプルの登録画面

「血液型」を選択すると、これに対応した説明文が表示されます。(図2,図3)

図2 血液型を選択する
図3 説明文が表示される

この例の特徴は、「血液型」モデルと「血液型説明」モデルにはデータベースの観点から関連性をもたせていないことです。計算式によって表示するIDを特定させます。

図4 今回のサンプルで用いたモデル

血液型モデル

「選択肢モデル(初期データ固定)」としています。

図5 血液型モデルの初期値

血液型説明モデル

「選択肢モデル(初期データ固定)」としています。

図6 血液型説明モデルの初期値

顧客モデル

「血液型」項目ならびに「血液型説明」項目を用意します。

図7 顧客モデル

血液型項目

血液型モデルをリストボックス形式で参照します。

図8 血液型項目(モデル参照)

このリストボックスには"(未選択)"を用意します。

図9 未選択を用意する

血液型説明項目

血液型説明モデルをリストボックス形式で参照します。参照連動ではありません。また、血液型モデルと(データベースの項目による)絞り込み設定もありません。

図10 血液型説明項目(モデル参照)

このリストボックスには"(未選択)"を用意しません

図11 未選択を用意しない

式の設定

血液型説明項目に式を設定します。血液型の選択肢(ID部)の値によって、自身の表示内容を制御します。血液型が未選択状態の場合、自身をnullとします。(この項目は未選択を用意しないため、図1のような空白表記になります。)

図12 式の設定
IF(${bloodtype#id}==1,
   1,
   IF(${bloodtype#id}==2,
     2,
     IF(${bloodtype#id}==3,
     3,
       IF(${bloodtype#id}==4,
       4,
       null
       )
     )
   )
)

式を設定するため、この項目は自動的に「読み込み専用」となります。リストボックスとしては動作しません。

Wagby Developer Day 2017