【リストビュー】データ入力規則-Forguncy(フォーガンシー)
はじめに
リストビューによる一覧は、おおきく二通りのパターンで設計されます。
1.リストビューでデータの直接入力を行わない。
2.リストビューでデータの直接入力を行う。
各パターンで、標準的な画面設計の一例を以下に示します。
1.リストビューでデータの直接入力を行わない 場合
リストビュー上で直接入力を行いません。
代わりに、編集のための機能を呼び出す設計をすることが多いです。
以下の例では、エクセルからのインポートや、対象行の編集を別画面にて行う設計になっています。
ワンクッション操作が入ることで、誤操作を防ぎます。
遷移先の画面設計例
2.リストビューでデータの直接入力を行う 場合
リストビュー上で直接入力を行います。
間違ったデータで更新されることがないよう、設計に工夫が必要です。
リストビューの「編集を許可」の設定内容にかかわらず、リストビューの各列に「データの入力規則」の設定ができることに注意してください。
※入力規則が設定されている場合、リストビューで直接入力する以外にも、コマンド内の処理により入力操作相当の処理が行われた場合にも、検証が行われます。
※Forguncy8から追加されたデータベースの更新コマンドのオプション「コマンド実行前にセルのデータ入力検証を行う」によっても、検証が行われます。
■アプリケーション実行時、リストビューに直接入力を可とする設計手順
①対象のリストビューを選択し、[リストビューツール]の[デザイン]タブから、[更新処理]-[編集を許可]にチェックを入れます。
②直接入力ができる列は次の条件を満たしている必要があります。
・リストビューのデータソースであるテーブルのフィールドとデータ連結している。
※ただし関連付けによって他のテーブルのフィールドが表示されている列は対象外です。
例
■リストビューの列に、データ入力規則を設定する設計手順
・直接入力する場合の、データ入力規則が適用されるタイミングについて
設定した入力規則を用いて検証が行われるタイミングは、「編集状態のセルで入力値が確定した時」となります。
例えば、Enterキーを押す、タブキーでフォーカスを遷移する等の操作が該当します。
検証でエラーが発生すると、値を正しい内容に修正しない限り別のセルの編集ができません。
入力した値を元に戻す場合は、Escキーを押下します。
・設定できるデータの入力規則について
ページ上に配置する通常のセル型に対する入力規則と同等となります。
詳しくは、Forguncy8の公式ヘルプページの「データ入力規則(セル)」の説明を参照してください。
今回は、データの直接入力を行うリストビューを例に説明していきます。
①設定対象のリストビュー上の列を選択する。
②[データ]タブ上にある、[データの入力規則]をクリックします。
例1[工事名称]列に入力規則を設定します
例2[許可年月日]列に入力規則を設定します
③表示された[データの入力規則]ダイアログで設定を行い[OK]ボタンをクリックします。
例1[工事名称]列に入力できる文字列の長さを「1から20」の間に設定します
例2[許可年月日]列に入力できる日付を本日以降と設定します。
④デバックを実行し、アプリケーション実行の振る舞いを確認します。
範囲外の入力を行った場合の表示
例1[工事名称]列に長さ20以上の値を入力し、確定します。
例2[許可年月日]列に過去の日付を入力し、確定します。
■補足
[データの入力規則]を設定したリストビューに対して、規則外のExcelファイルをインポートした場合の振る舞いを確認します
次のような入力規則を設定します。
インポートボタンに、Excelインポートコマンドを設定します。
不正なデータを持つExcelインポート用のファイルを用意します
デバッグを起動し、インポートを実行します
Excelインポートコマンドで、入力規則による検収が行われ、エラーメッセージが表示されました。