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