メインコンテンツまでスキップ
バージョン: 18

サブフォーム


削除を許可

リストサブフォーム内でユーザーがサブレコードを削除できるかどうかを指定します。

JSON 文法

名称データタイプとりうる値
deletableInListbooleantrue, false (デフォルトは true)

対象オブジェクト

サブフォーム


詳細フォーム

このプロパティを使用して、サブフォームで使用する詳細フォームを割り当てます。 以下のものを使用できます:

  • ウィジェット (ページタイプのサブフォームで、特定の機能を実現するために作成されています)。 この場合、リストフォーム および ソース プロパティは存在しないか、空でなくてはいけません。
    コンポーネントで公開されていれば、コンポーネントフォーム名を選べます。

サブフォームを介して追加の機能を提供する コンポーネント を作成することが可能です。

  • リストサブフォーム に関連づける詳細フォーム。 詳細フォームはサブレコードを入力したり表示したりするために使用します。 通常、詳細フォームにはリストサブフォームより多くの情報が含まれています。 詳細フォームは、サブフォームと同じテーブルに属していなければなりません。 典型的には、出力フォームをリストフォーム に、入力フォームを詳細フォームに指定します。 詳細フォームを指定しない場合、4Dは自動でテーブルのデフォルト入力フォームを使用します。

JSON 文法

名称データタイプとりうる値
detailFormstringテーブルまたはプロジェクトフォームの名前 (文字列), フォームを定義する .json ファイルへの POSIX パス (文字列), またはフォームを定義するオブジェクト

対象オブジェクト

サブフォーム


空行をダブルクリック

リストサブフォームの空行がダブルクリックされた際に実行されるアクションを指定します。 次のオプションから選択することができます:

  • 何もしない: ダブルクリックを無視します。
  • レコード追加: サブフォーム中に新規レコードを作成し、編集モードにします。 "リスト更新可" オプションが選択されている場合、レコードは直接リスト内に作成されます。 選択されていない場合、レコードはサブフォームに割り当てられた 詳細フォーム 上に作成されます。

JSON 文法

名称データタイプとりうる値
doubleClickInEmptyAreaActionstring"addSubrecord", 何もしない場合は ""

対象オブジェクト

サブフォーム

参照

行をダブルクリック


行をダブルクリック

リストサブフォーム

ユーザーがリストサブフォームの行をダブルクリックした際に実行されるアクションを指定します。 選択可能なオプションは以下の通りです:

  • 何もしない (デフォルト): 行をダブルクリックしても自動アクションは発動しません。
  • レコード編集: 行をダブルクリックすると、リストサブフォームに設定された 詳細フォーム に当該レコードが表示されます。 レコードは読み書き可能モードで開かれるので、編集が可能です。
  • レコード表示: レコード編集と同様の挙動をしますが、レコードは読み取り専用モードで開かれるため、編集はできません。

選択されているアクションに関わらず、On Double Clicked フォームイベントが生成されます。

「レコード編集」「レコード表示」のアクションに関しては On Open Detail フォームイベントも生成されます。 リストボックスに関連付けられた詳細フォームに表示されたレコードが閉じられる際には On Close Detail フォームイベントが生成されます (レコードが編集されたかどうかは問いません)。

JSON 文法

名称データタイプとりうる値
doubleClickInRowActionstring"editSubrecord", "displaySubrecord"

対象オブジェクト

サブフォーム

参照

空行をダブルクリック


リスト更新可

リストサブフォームでこのプロパティが有効化されていると、ユーザーはリスト内で直接レコードデータを更新できます (この場合、関連づけられている 詳細フォーム は開きません)。

これをおこなうには、更新するフィールド上で 2回クリックをおこない、編集モードにします (ダブルクリックにならないようクリックの間隔をあけなければなりません)。

JSON 文法

名称データタイプとりうる値
enterableInListbooleantrue, false

対象オブジェクト

サブフォーム


リストフォーム

このプロパティを使用して、サブフォームで使用するリストフォームを割り当てます。 リストサブフォームを使うことで、他のテーブルのデータを入力、表示、および更新することができます。

リストサブフォームをデータ入力に使用するには 2つの方法があります。一つはユーザーがサブフォームに直接データを入力する方法です。もう一つは 入力フォーム を開いてデータを入力する方法です。 後者の設定では、サブフォームとして使用されるフォームがリストフォーム、 入力のために使用されるフォームが詳細フォームとなります。

JSON 文法

名称データタイプとりうる値
listFormstringテーブルまたはプロジェクトフォームの名前 (文字列), フォームを定義する .json ファイルへの POSIX パス (文字列), またはフォームを定義するオブジェクト

対象オブジェクト

サブフォーム


ソース

リストサブフォームが属するテーブル (あれば) を指定します。

JSON 文法

名称データタイプとりうる値
tablestring4D テーブル名, テーブルなしの場合は ""

対象オブジェクト

サブフォーム


選択モード

リストボックス行の選択モードを指定します:

  • なし: 行を選択することはできません。 リスト更新可 オプションがチェックされている場合を除き、リストをクリックしても効果はありません。 ナビゲーションキーを使用しても、リストをスクロールするだけとなり、その際に On Selection Change フォームイベントは生成されません。
  • 単一: 一度に一行のみ選択できます。 クリックすることで、行を選択できます。 Ctrl+クリック (Windows) や Command+クリック (macOS) を使うと、対象行の選択状態 (選択・非選択) が切り替わります。
    上下キーを使うとリストの前後の行が選択されます。 その他のナビゲーションキーはリストをスクロールします。 カレントの行が変更されるたびに、On Selection Change フォームイベントが生成されます。
  • 複数: 標準のショートカットを使用して複数行を同時に選択できます。
    • 選択されたサブレコードは GET HIGHLIGHTED RECORDS で取得できます。
    • レコードはクリックにより選択されますが、カレントレコードは変更されません。
    • Ctrl+クリック (Windows) や Command+クリック (macOS) を使うと、対象レコードの選択状態 (選択・非選択) が切り替わります。 上下キーを使うとリストの前後のレコードが選択されます。 その他のナビゲーションキーはリストをスクロールします。 選択レコードが変更されるたびに、On Selection Change フォームイベントが生成されます。

JSON 文法

名称データタイプとりうる値
selectionModestring"multiple", "single", "none"

対象オブジェクト

サブフォーム