一覧更新 スプレッドシートを利用する

最終更新日: 2024年12月23日

設定方法

サンプルアプリケーション 売上集計表

ここでは「部門」「年月」「売上金額」をスプレッドシートで入力できるアプリケーションを用意してみます。

売上集計表モデル

スプレッドシート

「画面>検索・一覧表示」と「画面>一覧更新」の両方で、表示方法を "スプレッドシート" とします。(片方だけスプレッドシートとした場合は動作しません。)

スプレッドシートの設定(一覧表示)
スプレッドシートの設定(一覧更新)

通信方式

スプレッドシートを使うモデルの REST API 通信を有効にします。(上の設定を行うと、自動的に有効になります。)

REST API を有効にする

項目の設定

売上ID

各レコード(行)に「売上ID」という主キー項目を用意しました。自動採番方式としたため入力、出力時とも隠し項目とします。

入力時の隠し項目設定
出力時の隠し項目設定

部門

スプレッドシートでは、モデル参照項目はリストボックス方式と検索方式に対応しています。検索方式を指定した場合でも、入力時はリストボックスとなります。

部門をリストボックスで選択する

年月

日付フォーマットを指定することができます。

年月項目のフォーマット指定

売上金額

数値のフォーマットを指定することができます。

数値項目のフォーマット指定

入力欄の幅

スプレッドシートの表示エリア(幅)は、各項目の一覧表示のラベル幅で規定されます。

リポジトリキー "presentation/displayitem/@labelwidthForShowList:幅" を指定して一括で指定するとよいでしょう。

一覧表示のラベル幅の一括設定

部門モデル

別モデル「部門」も売上集計モデルから参照します。このモデルも REST API (v3) 方式を有効にしてください。

スプレッドシートから参照されるモデルはREST API v3 を有効にする

動作確認

一覧更新画面へ遷移するとスプレッドシートが使えるようになります。

スプレッドシートを利用する

最初に「新規」ボタンを押下して入力行を用意します。

新規行を用意する(1)

入力行が用意されました。

新規行を用意する(2)

部門はモデル参照(リストボックス)です。セルをダブルクリックすると選択できます。

部門の入力

年月は日付カレンダから入力できます。

年月の入力

数値欄に値を入力すると、自動的にフォーマットされます。

数値の入力(1)
数値の入力(2)

ここでEnterキーを押下すると二行目の入力欄が用意されます。(そのため「新規」ボタンは非表示となっています。)

Enterキー押下で次の入力行が用意される

複数行を入力した例です。対象行で右クリック操作を行うと、その行に対するサブメニューが開きます。「選択した行を削除」を行うと、その行が削除されます。

選択した行を削除(1)
選択した行を削除(2)

ページタイトル

"画面機能 > 一覧更新 > ページタイトル"をお読みください。

説明文

"画面機能 > 一覧更新 > 説明文"をお読みください。

仕様と制約

対応している項目(型)

  • 文字列
  • 整数
  • 小数
  • 日付(カレンダ入力)
  • 時刻(コロン区切りの直接入力)
  • モデル参照(リストボックス) (*1)
  • モデル参照(検索画面) (*1) UIはリストボックスとなる
  • モデル参照(ルックアップ) 表示のみ
*1 参照先のモデルで「画面>その他>REST>REST API v3 を有効にする」をチェックしてください。

入力チェック

  • 数値項目に数字以外の値を入力するとセルの背景色が赤くなります。
  • 項目の入力チェック設定(必須、文字数、範囲、許容文字種)は機能しません。
  • スクリプトの入力チェックは機能します。項目の入力チェック設定(必須、文字数、範囲)はスクリプトで実装してください。
  • 変更のあった行(データ)だけが入力チェックの対象となります。変更を行わなかった行(データ)の入力チェックは行われません。

読み込み専用

モデル項目の「入力制御>読み込み専用>一覧更新」設定によって、スプレッドシートのカラム設定が次のように変更されます。

「登録」のみにチェックをつけた場合
既存データの更新が行えます。新規行を追加した場合、このカラムは入力が行えません。
「更新」のみにチェックをつけた場合
既存データの更新は不可となります。新規行を追加した場合、このカラムへの入力が行えます。
「コピー登録」のみにチェックをつけた場合
スプレッドシートではコピー登録かどうかの状態を判別しません。そのため、この設定は無視されます。
「全て」にチェックをつけた場合
新規行追加、更新いずれも、このカラムは入力を行うことができません。

ロック

スプレッドシートが有効になったモデルでは、常に「楽観ロック」となります。(悲観ロックの設定は無視されます。)

編集中のデータであっても、他の利用者は先にデータを更新することができます。一行でも他の利用者によってデータの更新があった場合、その利用者がスプレッドシートに行った編集はすべてエラーとなります。(入力されたデータはすべて破棄されます。)

その他

  • 現在、複合キーのモデルでは利用できません。(この制約は将来のWagbyで改善する予定です。)
  • 入力チェックでエラーが発生した場合はダイアログにエラーメッセージが表示されます。エラーが残っている場合、保存はできません。
  • リセットボタンでは、スプレッドシートのデータがクリアされます。
  • 親子モデル関係の子モデル表示は、常に「HTMLテーブル」となります。
  • 「コピー登録」機能はスプレッドシートでは利用できません。

対応しているブラウザ

PC/タブレットで動作するWebブラウザで動作します。スマートフォンUIには対応していません。