UI部品 基本編

| この記事でわかること: ・リストビューに値を入力する方法 ・リストビューに入力した値でテーブルデータを即時更新する方法 ・リストビューに入力した値を任意のタイミングでテーブルに登録する方法 |
本記事はForguncy製品サイトで公開しているリストビュー概要資料における、各機能の実装方法を解説したものです。
リストビュー概要資料は下記リンクからご覧いただけます。
| プロジェクトファイル (作成バージョン:(10.0.13.0) | stepup_listview_before.fgcp stepup_listview_after.fgcp(実装済みプロジェクトファイル) |
1.プロジェクトを確認する
今回の演習で使用するプロジェクトを確認します。
手順1-1.テーブルを確認
プロジェクトには複数のテーブルが内蔵されています。
今回は発注テーブルを使用します。

手順1-2.ページを確認
プロジェクトには複数のページが内蔵されています。
そのうち、今回使用するページは「テーブルデータの更新」ページです。

2. カレントレコードを移動した際に更新する
リストビュー上のカレント行が別の行に移動した際にデータが編集されていた場合、テーブルデータを更新する処理を実装します。
この時、テーブルデータが更新されるタイミングはカレントレコードが移動した時となります。
手順2-1.リストビューの編集許可を設定
ページ上のリストビューを選択した状態で、リボンの[リストビューツール]>[デザイン]>[更新処理]>[編集を許可]にチェックを入れます。
この設定を行うと、セルをダブルクリックすることで編集モードへと移行します。
また、Excelと同様にキーボードのF2キーを押下することでも編集モードへ移行できます。

手順2-2. リストビューの即時更新を有効に設定
リストビューの即時更新を有効にします。
リストビューを右クリックし、「リストビュー設定…」をクリックします。
リストビュー設定ウィンドウが開くので、「データ」タブの「リストビューのデータを即時更新しない」のチェック欄を確認します。
デフォルトではチェックが外れていますが、もしチェックがついているようであれば外してください。

この設定を行うと、入力後の値はリストビュー上のカレントレコードが変わったタイミングでテーブルデータが更新されます。
実際に動作を確認するには4.デバッグ実行を行ってください。
手順3の「ボタン押下で更新する」の内容をデバッグで動作確認する際には「データ」タブの「リストビューのデータを即時更新しない」にチェックを入れてください。
3. ボタン押下で更新する
リストビューにデータを入力しただけでは更新せず、ボタンを押下したタイミングでテーブルデータを更新する処理を実装します。
手順3-1ではリストビューに入力した値でテーブルデータの更新します。
手順2-1のリストビューの編集許可設定を行っていない場合は、先にそちらを行ってください。
手順3-1.リストビューの即時更新を無効に設定
リストビュー標準の即時更新を無効にします。
リストビューを右クリックし、「リストビュー設定…」をクリックします。
リストビュー設定ウィンドウが開くので、「データ」タブの「リストビューのデータを即時更新しない」にチェックを入れます。

これで行移動による更新が行われなくなりました。
手順2の「カレントレコードを移動した際に更新する」の内容をデバッグで動作確認する際には「データ」タブの「リストビューのデータを即時更新しない」のチェックを外してください。
手順3-2.更新ボタンの設定
テーブルデータを更新するためのボタンの設定を行います。
手順3-2-1.入力値で更新
リストビューに直接入力した値でテーブルを更新する処理を設定します。
入力値で更新ボタンを選択し、右ペインの[セル型]タブからコマンド…ハイパーリンクをクリックします。
コマンドウィンドウが開くので、リストビューの操作コマンドを選択します。
設定は下記のように行います。
| 対象リストビュー: | リストビュー1 |
| 処理の種類: | リストビューの更新確定 |

これで、入力を行ったすべての行でテーブルデータの更新が行われます。
手順3-2-2.特定の値で更新
任意のレコード・フィールドに特定の値を更新する処理を追加します。
この設定を行うと、今回のアプリでは全レコードの出荷状態フィールドに「出荷済み」という文字列を設定してテーブルを更新できるようになります。
今回は全レコードを対象にしていますが、更新対象は「選択行」、「条件に合致する行」、「すべての行」、「カレントレコード」から選択できます。
出荷状態の更新ボタンを選択し、右ペインの[セル型]タブからコマンド…ハイパーリンクをクリックします。
コマンドウィンドウが開くので、リストビューの操作コマンドを選択します。
設定は下記のように行います。
| 対象リストビュー: | リストビュー1 |
| 処理の種類: | 更新 |
| リストビューの列 | 出荷状態 |
| 値 | 出荷済み |
| 更新対象レコード: | すべての行 |

ここまでの設定で画面上のリストビューには「出荷済み」と表示されますが、データベースにはまだ書き込まれていません。
書き込むには、以下のように再度リストビューの操作コマンドを追加し、「リストビューの更新確定」を設定します。
| 対象リストビュー: | リストビュー1 |
| 処理の種類: | リストビューの更新確定 |

これで、すべての行でテーブルデータの更新が行われます。
4.デバッグを実行する
デバッグを行うには、動作確認したいページを開いた状態でリボンの[ホーム]>[デバッグ実行]>[▶]ボタン、またはForguncy Builderの左上にある▶ボタンを押下してプロジェクトをデバッグ実行します。

プロジェクトを実行すると、ページが表示されます。
手順2の設定ではリストビュー上のセルをダブルクリック、またはF2キーを押下するとセルが編集モードに移行し、値の更新が可能になることが確認できます。
手順3の設定ではボタンを押下したタイミングでテーブルデータの更新が行われます。
ただし、手順2の「カレントレコードを移動した際に更新」は手順3-1の設定を行っていると動作しません。
設定を戻す方法も手順3-1に記載していますので、そちらを参考にデバッグを行ってください。

ForguncyのUI部品についてもっと知る
Forguncyの開発スタートガイドやオンラインヘルプでは、ユーザーがより使いやすいアプリを作成するのに便利なUI部品についてより詳しくご紹介しています。
こちらもぜひご活用ください。