サブフォームとは他のフォームに組み込まれるフォームのことです。
サブフォームには主に2つのタイプがあります:
- リストサブフォーム: 通常他のテーブルのデータを入力、表示、および変更するために使用されます。
- ページサブフォーム: 4Dウィジェットのような洗練されたインターフェースを作成するために使用します。
サブフォームは各タイプごとに特有のメカニズムやプロパティがあります。
サブフォームに実装されたコンセプトを明確に説明するために、いくつかの用語についてここで定義します:
- サブフォーム: 他のフォームに組み込まれることを意図したフォーム。
- 親フォーム: 1つ以上のサブフォームを含むフォーム
- サブフォームコンテナ: 親フォームに組み込まれた、サブフォームのインスタンスを表示するオブジェクト
- サブフォームインスタンス: 親フォームに表示されたサブフォームの実体。このコンセプトはとても重要です。親フォームには同じフォームを複数、サブフォームとして表示することができるからです。
- リストフォーム: データをリストとして表示するサブフォームインスタンス。
- 詳細フォーム: リストサブフォームをダブルクリックすることでアクセスすることができる、ページタイプのサブフォーム。
フォームにサブフォームを追加するには3つの方法があります:
注: 定義済みオブジェクトライブラリーからウィジェットオブジェクトを追加すると、サブフォームタイプオブジェクト (ページフォーム) が作成されます (設定済みライブラリを使用する参照)。
必要に応じてこれらの方法を使い分けていただけます。
プロパティリストの"サブフォーム"テーマ内で出力サブフォームオプションを選択したり選択解除したりすることで、フォームタイプを設定できます。この設定に基づき、選択されたサブフォームタイプに対応するオプションが表示されるよう、プロパティリストの他のオプションが更新されます。
4Dウィジェットは定義済みの複合オブジェクトです。プログラミングなしでもありでも利用できるこれらのウィジェットを使用すると標準の機能を簡単に実装できます。以下のウィジェットが提供されています:
4Dウィジェットはページタイプのサブフォームで、特定の機能を実現するために作成されています。サブフォーム作成ツールまたは4Dに統合されたオブジェクトライブラリーからこれらのウィジェットを追加できます (設定済みライブラリを使用する参照)。
ウィジェットの利用方法は以下のマニュアルを参照してください: 4D Widgets(ウィジェット)