サポート > リポジトリ > 繰り返し > 繰り返しコンテナ
ja | en

繰り返しコンテナは「明細」形式のデータを扱います。複数項目をグルーピングし、追加や削除を行うことができます。

図1に繰り返しコンテナ「内訳」を用意した画面例を示します。

追加

繰り返しコンテナはグループ(行)単位で追加することができます。「追加」ボタンを押下すると現在の行の下に、追加されます。(図1,図2)

図1 繰り返しコンテナの追加ボタンを押下する
図2 行が追加された

挿入

「挿入」ボタンを押下すると、行の挿入を行うことができます。(図3,図4)

図3 繰り返しコンテナの挿入ボタンを押下する
図4 行が挿入された

削除

「削除」ボタンを押下すると、行の削除を行うことができます。(図5,図6)

図5 繰り返しコンテナの削除ボタンを押下する
図6 行が削除された
1つのモデルに、複数の「繰り返しコンテナ」を含めることができます。(上限はありません。)

はじめに、繰り返しコンテナ型の項目を用意します。図7では「内訳」になります。

以降、繰り返しコンテナに含まれる項目を連続で定義します。項目IDは次のようになります。

「コンテナの項目ID」+「/」+「自身の項目ID」

なお、繰り返しコンテナ型項目の直下に「繰り返しコンテナID」を必ず用意してください。図7では「No」がこれに相当します。

図7 繰り返しコンテナを定義する
  • コンテナ名の右側の項目IDは、他の項目名と重複しないようにしてください。例えばモデル内にすでに "mdate" という項目が定義されていた場合、コンテナ内に "report/mdate" という項目を用意することはできません。
  • 上に関連して、コンテナ名が異なるが、そのあとの名称が同じという設定も行えません。例えば "report1/mdate" と "report2/mdate" は、いずれも "mdate" が重複しているとみなされます。
  • コンテナ内の項目に、再びコンテナを指定することはできません。具体的には "report1/report2/name" といった繰り返しの繰り返しには対応していません。
  • 同様にコンテナ内の要素を繰り返しとすることもできません。具体的には "report/email" を用意した場合、この "email" を繰り返し項目とすることはできません。
  • コンテナ項目は離して定義することはできません。(通常の項目を間に挟んで定義することはできません。)必ず連続して項目を定義してください。

列の数が多い場合、お使いのブラウザによっては4つの列まで表示し、5つ目以降の列表示が潰れてしまうことがあります。 それぞれの列の幅を指定することで、見栄えを調節してください。

この方法は「レイアウト>繰り返しコンテナ - 列幅の調整」をお読みください。

「繰り返しコンテナID」項目は必ず必要です。また、この項目を隠し設定にすることはできません。登録・更新画面で「追加」「削除」ボタンが表示されるためです。

コンテナIDの値 "1", "2", ... を隠すことはできます。詳細は「コンテナIDを非表示にする」をお読みください。

仕様・制約

  • 「繰り返しコンテナID」はデータベースに保存する必要があります。データベース非保存とすると正しく動作しません。
  • 「繰り返しコンテナID」はデータベースには "0" から開始される連番として値が保存されています。nullは許容しません。また、飛び番号も認められません。

繰り返しコンテナ

繰り返しコンテナは、別テーブルに分割されます。(1:Nの関係になります。) そのため登録できるデータ数の上限はありません。

厳密には採用する外部データベースの、1テーブルに保持できるレコード数が理論的な上限となります。実運用での制約は、なしとみなすことができます。

生成されるテーブル名は「モデル名$(繰り返しコンテナ)項目名」となります。このテーブルの命名規則は固定です。

繰り返しコンテナ項目は、物理カラムを指定しても無視されます。

繰り返しコンテナID 7.12

「繰り返しコンテナID」は、標準では "<コンテナ名>jshid" という名前のカラムが用意されます。型は整数型です。

この「繰り返しコンテナID」の物理カラムを指定することができます。

図8 「繰り返しコンテナID」の物理カラムを指定する