サブテーブル

請求書の明細行や注文の商品リストのように、1 件のレコードの中に同じ形の行を何行も入力したいときに使います。行ごとに単価×数量のような計算を置くこともできます。

1つのレコード内に複数行のデータを表形式で入力できるフィールドです。請求書の明細行や注文の商品リストなど、繰り返し構造のデータに使用します。

表示イメージ

入力フォームでの表示

明細

商品名単価数量小計
ノートPC¥150,0002¥300,000✕
マウス¥3,0005¥15,000✕

設定項目

プロパティパネル

ラベル *

フィールドコード

サブフィールド

商品名(文字列)≡
単価(数値)≡
数量(数値)≡
小計(計算)≡
+ サブフィールドを追加
設定項目
ラベル
説明
テーブルの見出しとして表示されるフィールド名
設定項目
フィールドコード
説明
API・計算式などで使用する識別子
設定項目
最小行数 / 最大行数
説明
入力できる行数の範囲を制限
設定項目
行の見せ方
説明
「表」(既定) か「カード (1 件ずつ入力)」。下の「行の見せ方 (表 / カード)」を参照
設定項目
サブフィールド
説明
テーブルの列として配置するフィールドを定義

行の見せ方 (表 / カード)

テーブルの設定の「行の見せ方」で、行の入力と表示の形を選べます。 列が多い明細 (経費の明細など) は「カード」にすると、1 行ずつダイアログで入力し、読むときは 1 行を複数段の「ラベル / 値」で見られます。

見せ方
表 (既定)
入力の画面
これまでどおり、表のセルに直接入力します
詳細の画面
横に長い表で表示します
見せ方
カード (1 件ずつ入力)
入力の画面
行をカードの一覧で見せます。「行を追加」とカードの「編集」で、1 行分の入力のダイアログが開きます。カードの操作は 編集・コピー・削除・上へ・下へ です
詳細の画面
1 行を 1 枚のカードで、項目を「ラベル / 値」の格子 (幅に応じて 1〜4 段) で表示します

行のダイアログの使い方:

  • 新しい行は「追加」「追加して次へ」(追加した後に空のダイアログで続けて入力)「キャンセル」、既存の行は「変更を反映」「キャンセル」です
  • ダイアログで確定しても、レコードはまだ保存されていません。最後に画面の「保存」を押してください (ダイアログの上にも表示されます)
  • ダイアログを閉じるのは「キャンセル」・右上の ×・Esc キーだけです。ダイアログの外をクリックしても閉じません (入力中の内容を誤って失わないため)。閉じると、その行の入力は捨てられ、テーブルは変わりません
  • 必須の項目が空のときは、ダイアログの中で項目ごとに知らせ、確定しません。ただし、ルックアップを選んだ行の、「コピー後の編集を許可」がオフのコピー先は空でも確定できます (保存のときに参照先の値で埋まります)。「コピー後の編集を許可」がオンのコピー先は、ほかの項目と同じく空では確定できません
  • 添付ファイル・リッチテキストの画像をアップロードしている間は、確定も閉じることもできません。ルックアップを選んだ後、コピーする値を読み込んでいる間は確定できません。終わるまでお待ちください
  • ダイアログを開いている間は、ほかの行の追加・コピー・削除・並べ替えはできません
  • 「追加して次へ」で行の数の上限 (最大行数) に達したときは、次のダイアログを開かずに知らせます
  • 計算のサブフィールドは、ダイアログの中でも入力に合わせて計算した値を表示します (読み取りだけ)
  • 狭い画面では、ダイアログは全画面で開き、ボタンは画面の下に固定されます

そのほかの決まり:

  • カードを使うのは、ログインして使うレコードの新規・編集・詳細の画面だけです。公開フォーム・公開ビュー・フォームビルダーのプレビューは、「カード」を選んでも表で表示します
  • テーブル全体が編集できないとき (ステータスなどで読み取りだけのとき) は、カードだけを表示し、操作のボタンとダイアログは出ません
  • 行が多いときは、入力・詳細とも最初の 20 行だけを表示し、「全 N 行を表示」で全部を表示します (表と同じ)
  • カードの表示では、グループの見出し・小計は出しません。総計と列ごとの集計は、カードの一覧の下に「ラベル / 値」で表示します
  • 「カード」はどの画面の幅でもカードにします。「表」のときは、これまでどおり狭い画面でだけカード形式になります (下の「モバイル表示」)
  • レコードを保存したときのエラー (入力チェックなど) は、これまでどおりテーブルに 1 つだけ表示し、どのカードかは示しません

列幅の調整

フォームビルダーのキャンバス上で、テーブルの列ヘッダー右端をドラッグして列幅を調整できます。

列幅のドラッグリサイズ

#商品名
単価
数量
小計
1

列幅をリセット

  • 列ヘッダーの右端にマウスを合わせるとカーソルが↔に変わる
  • ドラッグで列幅を調整。設定はサブフィールドごとに保存される
  • 「列幅をリセット」で全列を均等割に戻せる
  • サブフィールドの設定パネルで「列幅 (px)」に数値を直接入力することも可能
  • 設定した列幅はレコード入力フォームと詳細画面にも反映される

列の揃え

各サブフィールドの設定パネルで、見出し(ヘッダー)と値それぞれの左右の揃え方を個別に指定できます。数値列は「右揃え」、文字列列は「左揃え」にするなど、列ごとに読みやすい表示に調整できます。

設定項目
見出しの揃え
説明
テーブルヘッダーのテキストを左 / 中央 / 右のいずれかに揃える
設定項目
値の揃え
説明
各行のセルの値を左 / 中央 / 右のいずれかに揃える

使用できるサブフィールドの種類

種類
文字列(1行)
用途例
商品名、備考
種類
文字列(複数行)
用途例
詳細メモ、特記事項
種類
リッチテキスト
用途例
装飾付きの説明文
種類
数値
用途例
単価、数量
種類
日付 / 日時 / 時刻
用途例
納期、実施日時
種類
ドロップダウン
用途例
カテゴリ、分類
種類
ラジオボタン
用途例
1つだけ選ぶ選択肢
種類
チェックボックス
用途例
複数選べる選択肢
種類
複数選択
用途例
タグ、対応可能日
種類
計算
用途例
単価×数量=小計
種類
リンク
用途例
URLやメールアドレス
種類
添付ファイル
用途例
行ごとの証憑画像・資料
種類
ユーザー選択
用途例
行ごとの担当者
種類
組織選択
用途例
行ごとの担当部署
種類
グループ選択
用途例
行ごとの担当グループ
種類
ルックアップ
用途例
他アプリのマスタから値を引用

添付ファイルサブフィールド

サブテーブルの列に添付ファイルサブフィールドを配置すると、行ごとにファイルを添付できます。 たとえば「経費明細」の各行に領収書の画像を1枚ずつ添付する、といった使い方ができます。

  • アップロードはセル単位で行います。同じ列でも行ごとに異なるファイルを添付できます
  • 1セルあたりの最大添付数・1ファイルの上限サイズ・許可するファイル種別は、そのサブフィールドの設定に従います(設定項目はトップレベルの添付ファイルフィールドと同じです)
  • 公開フォームの送信可能なフィールドとして選択した場合も同様に利用できます
  • CSV / Excel エクスポートや帳票(PDF)では、セル内のファイル名が列挙されます(ファイルの中身やダウンロードURLは含まれません)
  • 行を削除して保存すると、その行に添付されていたファイルだけが削除されます。他の行の添付ファイルには影響しません
  • 行を複製すると、複製元と同じファイルを参照します(ファイルの実体は増えません)。片方の行から外しても、もう一方の行が参照している間はファイルは削除されません。すべての行から外して保存した時点で削除されます
  • CSV / Excel の取り込みでは添付ファイルは登録・保持されません。取り込み時にサブテーブルの添付セルは空になります(エクスポートはファイル名の列挙のみで、ファイルの実体を含まないため往復できません)。取り込み後にレコード編集画面から添付し直してください

モバイル表示

行の見せ方が「表」のサブテーブルは、モバイル (画面幅 768px 未満) では自動的にカード形式 に切り替わり、各行を「ラベル: 値」の 縦並びで表示します。デスクトップでは従来通り表形式で表示され、 必要に応じて横スクロールで全列を確認できます。「展開」ボタンで 全画面ダイアログを開くと、モバイルでもカード、デスクトップでは テーブルの大画面表示が利用できます。

グループ化・小計・総計

サブテーブルの行を特定の列の値でグループ化し、グループごとの小計や全体の総計、 列ごとの集計値を表示できます。設定はサブフィールド一覧の下にある「グループ化」欄 (フォームビルダー・テーブルフィールド設定)から行います。

設定項目
グループ化する列
説明
文字列 / ドロップダウン / ラジオボタン型のサブフィールドを対象に、最大3階層までグループ化の列を指定できる
設定項目
グループごとの小計を表示
説明
ONにすると各グループの末尾に小計行を表示
設定項目
総計を表示
説明
ONにするとテーブル末尾に全行の総計行を表示
設定項目
列ごとの集計関数
説明
グループ化する列以外の各サブフィールドについて、小計・総計行に表示する集計方法を列単位で指定

列ごとの集計関数には次を指定できます。数値 / 計算型のサブフィールドは全ての関数、それ以外の型は「件数」のみ選択できます。

関数
合計
説明
グループ(または全体)の値の合計
関数
平均
説明
値の平均(空欄は除外)
関数
最小 / 最大
説明
値の最小値 / 最大値
関数
件数
説明
行数のカウント
関数
中央値
説明
値の中央値
  • グループ化する列を1つ以上設定すると「グループごとの小計を表示」が選択可能になります
  • グループ化する列を設定しなくても「総計を表示」は単独でONにできます
  • グループ化・小計・総計はデスクトップの表形式表示が対象です。モバイルのカード形式では省略されます

サブフィールドの設定

各サブフィールドの設定パネル (詳細展開) で、 そのサブフィールドの種別ごとに固有の 設定が並びます。 ここではテーブル特有の設定として「他の行と排他にする」 を取り上げます。

他の行と排他にする (exclusiveAcrossRows)

現状はチェックボックス型のサブフィールドでのみ利用可能な設定で、 「主担当」「主アドレス」 のようにテーブル内で 1 行だけ ON にしたい列に使います。

  • 用途: 担当者一覧の「主担当」 フラグ、 メールアドレス一覧の「主」 フラグ、 配送先一覧の「優先配送先」 等
  • 挙動: ある行で対象のチェックボックスを ON にすると、 同じテーブル 内の他の全ての行で同じサブフィールドが自動的に OFF になります
  • 設定箇所: テーブルフィールド設定 → サブフィールド一覧 → 対象の チェックボックスサブフィールドを展開 → 「他の行と排他にする」 スイッチを ON
  • 初期値: OFF。 既存のチェックボックスサブフィールドは挙動を変えずに そのまま残ります
  • チェックボックス型の選択肢が複数あるテーブルでも、 排他制御は サブフィールド単位で独立して効きます (= ON にしたフィールド名のみ他行で OFF に なる)

ヒント

  • サブテーブル内に計算フィールドを配置すると「単価×数量=小計」のような行単位の自動計算が可能です
  • サブテーブルの入れ子(サブテーブル内にサブテーブル)はサポートされていません
  • 行の見せ方が「表」のとき、行の追加は「+ 行を追加」ボタン、行の削除は各行右端の「✕」ボタンで操作します (「カード」のときは上の「行の見せ方 (表 / カード)」)
  • テーブル内の項目(列)を削除して保存すると、既存レコードのその列の値も削除されます(元に戻せません)。同じ名前の列を作り直しても値は戻らないので、必要な値は削除前に CSV / Excel で書き出しておいてください。削除した列が添付ファイル型だった場合、添付されていたファイルも削除されます(ストレージの空き容量への反映は少し後になります)
  • 数値サブフィールドの桁区切り表示をONにすると、帳票出力でもカンマ区切りで表示されます
  • カード形式 (モバイル) ではグルーピング・小計は省略されます。詳細を確認したい場合は「展開」ボタンで全画面の表形式に切り替えてください
  • サブフィールドにも「画面に表示しない」(サブフィールドの設定を開いた中のスイッチ)を設定できます。入力・詳細のテーブルの列に出ず、CSV・Excel の書き出しにも出ません。中間計算専用の列などに使います。設定できるのは計算(数式)のサブフィールドだけです(CSV・Excel の取り込みでテーブルを更新すると、その行は取り込んだ列だけから作り直されるため、それ以外のサブフィールドを隠すと書き出し→編集→取り込みの往復で値が消えてしまいます)。詳しくはフォームの作り方の「画面に表示しない」を参照してください