4D v17.4This |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
4D v17.4
This
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| 戻り値 | Object |
|
カレントの要素 | |||||
This コマンドは、現在処理中のオブジェクトへの参照を返します。
このコマンドは、以下のようなコンテキストで使用されることを想定しています:
この特定のコンテキスト下においては、コマンドは、カレント行に表示するためにリストボックスによってアクセスされたコレクション要素あるいはエンティティへの参照を返します。それ以外のコンテキストにおいては、このコマンドはNull を返します。
This.<propertyPath> を使用することで、コレクション要素プロパティあるいはエンティティ属性にアクセスすることができます。例えば、This.name あるいは This.employer.lastName などは要素あるいはエンティティプロパティへの有効なパスです。
注: スカラー値のコレクションを使用した場合、4D は単一のvalue プロパティを持つオブジェクトを各要素に対して作成します。そのため、要素の値はThis.value という式を通して利用可能です。
以下のようなストラクチャーを持つオブジェクトのコレクションについて考えます:
{
"ID": 1234
"name": "Xavier",
"revenues": 47300,
"employees": [
"Allan",
"Bob",
"Charlie"
]
},{
"ID": 2563
"name": "Carla",
"revenues": 55000,
"isFemale": true
"employees": [
"Igor",
"Jane"
]
},...
リストボックス内では、各カラムがオブジェクトのどれか一つのプロパティを参照します。参照は直接的に(This.name)、あるいは間接的に(This.employees.length)、あるいは式を通して(getPicture)行います。なお式での参照は直接参照することも可能です。リストボックスは以下のようになります:

GetPicture プロジェクトメソッドはOn display detail イベント中に自動的に実行されます:
//GetPicture メソッド
C_PICTURE($0)
If(This.isFemale)
$0:=Form.genericFemaleImage
Else
$0:=Form.genericMaleImage
End ifフォームが実行されると、以下のように結果を見ることができます:

以下のストラクチャーからのエンティティを、リストボックス内に表示したい場合を考えます:

以下の定義で"コレクションあるいはエンティティセレクション"型のリストボックスをビルドしたとします:

以下の点に注意して下さい:
フォームが実行されると、リストボックスにはエンティティセレクションが自動的に入ります:

プロダクト: 4D
テーマ: ランゲージ
番号:
1470

初出: 4D v17
ランゲージリファレンス ( 4D v17)
ランゲージリファレンス ( 4D v17.1)
ランゲージリファレンス ( 4D v17.2)
ランゲージリファレンス ( 4D v17.3)
ランゲージリファレンス ( 4D v17.4)
コメントを追加