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

OBJECT Get subform container value

OBJECT Get subform container value : any

引数説明
戻り値anyサブフォームコンテナデータソースのカレントの値

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

OBJECT Get subform container value コマンドは親フォームに表示されたサブフォームコンテナにバインドされたデータソースのカレントの値を返します。

このコマンドはサブフォームとして使用されているフォームのコンテキストにおいてのみ使用できます。それ以外のコンテキストにおいては、このコマンドはUndefined を返します。

  • データソースが式の場合、コマンドは式のカレントの値を返します。これは最後に実行されたフォームイベントサイクルの後に評価された値です。
  • データソースが配列の場合、コマンドは配列のインデックス(整数)を返します。

バインド変数とフォーム/サブフォームの相互作用についての詳細な情報については、developer.4d.com のバインドされた変数あるいは式の管理 を参照してください。

例題

以下のようなメインフォームとサブフォームの両方に入力フォームオブエクトがある場合:

メインフォーム内の入力オブジェクトとサブフォームオブジェクトは数値型のForm.numeric という式がバインドされています。

メインフォームの入力オブジェクトとサブフォームの入力オブジェクトは、どちらもプロパティリストでOn Data Change イベントが設定されています。

サブフォームのフォームメソッドには以下のようなコードが書かれています:

 If(Form event code=On bound variable change)
    Form.displayNumeric:=OBJECT Get subform container value
 End if

そしてサブフォーム内では、入力テキストオブジェクトメソッドには以下のようなコードが書かれています:

 OBJECT SET SUBFORM CONTAINER VALUE(Form.displayNumeric)

結果として、メインフォームの入力オブジェクトの値を変更すると、サブフォームの入力オブジェクトの値も更新され、その逆も同じように更新されます。

参照

Form
OBJECT Get pointer
OBJECT SET SUBFORM CONTAINER VALUE