選択肢モデル
最終更新日: 2022年8月31日
データを登録・検索する時の入力方式のひとつとして、テキスト入力のほかに
これを実現するのが「選択肢モデル」です。
通常、選択肢モデルはリストボックス、ラジオボタン、チェックボックスのいずれかの方式で利用します。
選択肢モデルは、モデル項目として以下の項目があらかじめ設定されています。
注意事項
選択肢モデルは「初期データ固定方式」と「運用中に変更できる方式」の二種類が用意されています。
「血液型」情報を格納する選択肢モデルを作成する例で説明します。
次に、初期データの設定を行います。 初期データは1件以上、用意してください。(1件も用意しない、ということはできません。) 「内容」を空白にすることはできません。(スペースだけの文字列も空白と扱われます。すなわち、内容部が空の選択肢を用意することはできません。) 「業種」情報を格納する選択肢モデルを作成する例で説明します。
次に、初期データの設定を行います。
「内容」を空白にすることはできません。(スペースだけの文字列も空白と扱われます。すなわち、内容部が空の選択肢を用意することはできません。)
この例は主キーが整数型かつ順序を使う、としています。そのため主キーは入力できません。主キーを文字列型とすると入力できるようになります。
初期データを登録後、メニューからそのデータをCSV形式ファイルで「ダウンロード」することができます。その後は Excel などで追加、編集し、「アップロード更新」するという運用を行うこともできます。詳細は「CSV入出力」をお読みください。
選択肢モデル「血液型」を別のモデル「身体データ」で参照する例です。
それぞれの実装プレビューは下表の通りです。
選択肢の表示順を決めるルールを設定できます。デフォルトは「ID」の「昇順」です。
①のソートルールで「表示優先度項目」を指定した場合、ここでソート条件となるモデル項目を指定します。
「無効な選択肢」と判断する条件(モデル項目)を指定します。
この機能を利用するには、あらかじめ参照先モデル項目のオプション設定が必要です。選択肢モデルとは
セレクトボックスやラジオボタンのような、「用意された選択肢の中から選ぶ」方式があります。
都道府県や血液型など、登録したいデータがいくつかの候補に特定できる情報は、図のように選択方式になっていたほうが便利です。
項目名 型 役割
主キー 数値/文字列/日付のいずれか。 主キー
内容 文字列 選択肢として表示される内容
表示優先度 数値 選択肢の並び順を設定できる。
(数値の降順で表示される)
有効期限 文字列 値がセットされていた場合には無効扱いとなる
重要
初期データ固定方式と変更方式
方式
説明
主キーの型
検索/一覧設定
画面機能
初期データ固定
DesignerでIDと値を設定します。運用中に値を追加/変更することはできません。
整数型のみ
アプリケーションにこの選択肢モデルの編集画面が用意されないため、この設定は無視されます。
なし
運用中に変更できる
DesignerでIDと値を設定しますが、ビルドしたアプリケーションのメニューから値の追加/変更も可能です。CSVファイルでのアップロード更新にも対応しています。
整数型
文字列型
日付型アプリケーションにこの選択肢モデルの編集画面が用意されます。この設定が反映されます。
検索一覧表示
詳細表示
登録
更新
削除
一覧更新
ダウンロード
アップロード更新選択肢モデル(初期データ固定)の作成
モデル一覧画面のギアアイコン > テンプレート の中から「選択肢モデル(初期データ固定)」を選択します。
モデル項目はあらかじめ用意されているため、設定は不要です。
初期データの登録
選択肢モデル(初期データ固定方式)は通常のモデルとは異なり、初期値(初期データ)を設定することができます。
「ID」が主キーとなります。主キーは数値型のため、ここには任意の数値を設定してください。"10","20" といった飛び番号を指定することもできます。
重要
注意
選択肢モデル(運用中に変更できる)の作成
モデル項目はあらかじめ用意されているため、設定は不要です。
初期データの登録
注意
主キー
CSVファイルを使った運用
選択肢モデルを参照する
モデル項目「血液型」の型として「他モデルの項目参照」を選択します。
参照先モデルとして、選択肢モデル「血液型」を選択します。
参照先モデル項目は、「内容(content)」を指定します。
入力タイプのうち、以下3種が選択形式です。
・「リストボックス」
・「ラジオボタン」
・「チェックボックス」
入力タイプ名
プレビュー
リストボックス
選択肢の他に「(未選択)」 という値がデフォルトで用意されます。
これは何も選択していない状態を示します。
「(未選択)」 を非表示にする方法はこちらをご覧ください。
ラジオボタン
項目名の横にある消しゴムボタンをクリックすると、未選択状態になります。
チェックボックス
項目名の横にあるチェックボタンをクリックすると、全選択肢にチェックが入ります。
全選択状態でクリックした場合、すべての選択状態が解除されます。
選択肢に関する設定は下図の①~③です。
各設定に関する説明は以下の通りです。
①ソートルール
各設定項目の説明は以下の通りです。
後から選択肢の並び順を変更したいような場合には、あらかじめこちらを選択してください。
※②が未設定の場合、「主キー(ID)の昇順」となります。
②表示優先度項目
指定する項目の型は数値(整数)である必要があります。
※①で「表示優先度項目」を選択していない場合はここで指定した内容は適用されません。
③無効判定項目
ここで指定したモデル項目に何らかの値が格納された場合に「無効」とみなされます。
無効とみなされた選択肢は画面に表示されません。
選択肢の表示順を変更する
次の通り設定します。
-
業種モデルの初期データタブを開き、「表示優先度」項目に、それぞれ任意の数字を設定します。
オプションで設定したソートルールの通りの順番で選択肢が表示されます。
(今回の例では「表示優先度」項目の「昇順」としています)
上から、
- 金融
- 食品
- 医療機関
-
ビルド後、選択肢を参照しているモデルの登録画面を開きます。
指定した並び順通りになっていることが確認できます。
重要
選択肢モデル(初期データ固定)の場合、運用中の変更は行えません。Wagby Designerで初期データを変更した場合は、再ビルドを行ってください。
選択肢を無効にする
選択肢はさまざまなモデルから参照される性質を持っています。そのためデータを削除すると不整合が発生するおそれがあります。
そこで、選択肢を削除するのではなく、一時的に無効にすることができます。(論理削除)
ここでは、その方法を説明します。
この機能を利用するには、参照先モデル項目のオプション設定にて以下をあらかじめ指定する必要があります。
無効判定項目:有効期限(valid)
-
「業種」モデルの初期データタブを開き、無効にしたい選択肢の「有効期限」欄に任意の文字を登録します。
ここに何らかの文字が含まれていた場合、データは無効になります。
ワンポイント
Tips:「有効期限」欄に登録する文字列について
上図の例では、「前期で終了」という文字列を登録しています。
有効期限項目は文字列型のため、無効にすると同時に「無効にした経緯」や「いつ無効としたか」等、メモを残すことができます。有効期限(valid)の特別な書式
日付形式の文字列(yyyy/MM/dd)を利用した以下の書式を指定することで、選択肢の有効期間を設定できます。
有効期限の設定値(例) 仕様 2020/1/1-2020/12/31 2020/1/1 から 2020/12/31 まで有効
例:本日が 2020/7/1 の場合は有効。本日が 2021/1/1 の場合は無効となる-2020/12/31 2020/12/31 まで有効
例:本日が 2020/7/1 の場合は有効。本日が 2021/1/1 の場合は無効となる。2020/1/1- 2020/1/1 から有効
例:本日が 2020/7/1 の場合は有効。本日が 2019/12/31 の場合は無効となる。2020/12/31 2020/12/31 のみ有効
例:本日が 2020/12/31 の場合は有効。それ以外の日であれば無効となる注意
日付書式は "yyyy/MM/dd" です。 yyyy-MM-dd形式ではありません。"-" は、開始日付と終了日付の区切り文字として使われます。
-
有効期限を設定した選択肢を参照しているデータを確認します。
下図のように、選択肢データの横に「(-)」というマークが表示されます。
これは「無効な選択肢データを参照している」ことを意味します。 -
各画面における無効な選択肢の表示は以下の通りです。
登録画面
無効にした選択肢が表示されなくなります。
検索画面
登録画面と同様、無効にした選択肢は表示されません。
更新画面
無効な選択肢が設定されたデータの更新画面では、無効な選択肢も表示されます。
重要
選択肢モデル(初期データ固定)の場合、運用中の変更は行えません。Wagby Designerで初期データを変更した場合は、再ビルドを行ってください。
通常のモデルを選択肢として扱う
Wagbyが標準で用意している選択肢モデルのテンプレートを使わず、オリジナルのモデルを用意し、これを選択肢モデルとして使うこともできます。
たとえば主キーを文字列型とし、主キーの値を、そのまま内容部として扱う、といったケースがあります。[サンプル...]
ワンポイント
オリジナルのモデルとして作成する場合でも「表示優先度(整数型)」「有効期限(文字列型)」の二項目を含めることで、表示順制御と無効制御(論理削除)機能を使うことができます。
参照先モデルのデータが削除されていた場合
選択肢が物理削除された場合、その選択肢を設定しているデータの詳細表示画面には「存在しないデータ」と表示されます。
横の数字は削除された選択肢の主キーの値を示しています。
スクリプトに関する制約
- 選択肢モデル(初期データ固定)のモデルはスクリプトを設定することはできません。そのため「スクリプト」タブが表示されません。
- 他モデルのデータ操作ブロックで選択肢モデル(初期データ固定)のモデルを選択した場合、操作の選択肢は "取得" のみ利用できます。