4D v16.3リストサブフォーム |
||
|
4D v16.3
リストサブフォーム
リストサブフォーム
サブフォームは詳細フォーム中に表示される、他のテーブルに属するフォームです。リストサブフォームでは他のテーブルのデータを入力、表示、および更新できます。通常は1対Nリレーションが設定されたデータベースでリストサブフォームを使用します。 リストフォームを定義するには、まず親フォームで使用するサブフォームを作成しなければなりません。リストフォームに関する詳細は一覧フォームとレポートを参照してください。 親フォーム中では、フォームエディターのオブジェクトバーにあるサブフォームツールを使用してサブフォームを作成します 。 注: エクスプローラーのフォームページからドラッグ&ドロップすることもできます。 プロパティリストのサブフォームテーマで、出力サブフォームオプションがチェックされていることを確認し、ソースメニューからソーステーブルを選択したらリストフォームから使用するフォームを選択します。 親フォーム内でサブフォームコンテナをサイズ変更し、位置を調整することができます。 サブフォームへのデータ入力を処理するカスタムボタンを追加できます。標準やハイライト、非表示などどのようなタイプのボタンでも使用できます。プログラムや (データ入力参照) 標準アクションを使用してアクションを設定できます。 4Dはサブレコードを管理する基本的なニーズに応える3つの標準アクション、サブレコード編集、サブレコード削除、サブレコード追加を提供します。 フォームに複数のサブフォームインスタンスが含まれる場合、フォーカスを持つサブフォームにアクションが適用されます。 リストサブフォーム特有のプロパティを設定できます。このプロパティにより、ユーザーアクションに許可するさまざまな自動機能を制御できます。 通常これらのプロパティはページサブフォームで使用されます。ページサブフォームを参照してください。 このプロパティを使用してサブフォームのソースタイプを指定できます。リストサブフォームの場合、サブフォームが属するテーブルを選択します。 このオプションを使用して、リストサブフォームに詳細フォームを割り当てます。詳細フォームはサブレコードを入力したり表示したりするために使用します。通常詳細フォームにはリストサブフォームより多くの情報が含まれています。詳細フォームはサブフォームと同じテーブルに属していなければなりません。詳細フォームを指定しない場合、4Dは自動でデフォルト入力フォームを使用します。 サブフォームの設定に基づき、ユーザーがサブレコード上でダブルクリックするか、サブレコードを追加/編集するコマンドを追加すると、詳細フォームが表示されます。 注: リストサブフォームに詳細フォームを結び付けるには、エクスプローラーから詳細フォームをサブフォームコンテナに、Shiftキーを押しながらドラッグすることもできます。 他のフォームオブジェクトと同様、サブフォームエリアも自由にサイズ変更できます。 注: エクスプローラーからフォームにドラッグでサブフォームを追加した場合、4Dは自動で適切な幅をサブフォームに設定します。 リストサブフォームでは3つの選択モードなし、単一、複数があります
リストサブフォームにリスト更新可プロパティが設定されていると、ユーザーはリスト中で直接レコードデータを更新できます。これを行うには、更新するフィールド上で2回クリックを行い、編集モードにします (ダブルクリックにならないようクリックの間隔を空けなければなりません)。 デフォルトでこのモードはすべてのリストサブフォームに対し有効です: このオプションがチェックされていない場合、データ入力は詳細フォームを通して行わなければなりません。 ユーザーのダブルクリック時にリストサブフォームがどのようにふるまうべきか、設定できます。以前の4Dバージョンで作成されたデータベースの場合、空行をダブルクリックした際の動作も設定できます (互換オプション)。
デフォルトでユーザーは、DelやBackspaceを使用してリストサブフォーム中のサブレコードを削除できます。 特定のアプリケーションではこの振る舞いがインターフェースの標準操作を妨げることがあるので、削除を許可オプションを使用してこの動作を無効にできます。 このオプションにチェックが入れられていないと、ユーザーはキーボードの削除キーを使用したサブレコードの削除ができなくなります。 サブフォームインスタンスはフォーカス表示プロパティ ("入力"テーマ) を持つことができます。サブフォームインスタンスがフォーカスを得ると、ユーザーはナビゲーションキーや (複数行選択可の場合) すべてを選択メニューコマンド等を使用してそれを制御できます。 サブフォームがフォーカスを得たり失ったりすると、親フォームでOn getting focusやOn losing focusイベントが生成されます。この場合、OBJECT Get pointerコマンド (またはFocus objectコマンド) はサブフォームのテーブルへのポインターを返します。 すべてのフォーカス可オブジェクトのように、フォーカスの四角を隠すプロパティを使用して、フォーカスの表示を無効にできます。 サブフォームに表示しきれないレコードが存在する可能性があるため、サブフォームレコードの印刷を扱うために、4Dは"印刷"テーマの3つのオプションを提供します:
参照
|
プロパティ
プロダクト: 4D
履歴
ARTICLE USAGE
デザインリファレンス ( 4D v16) |