ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
FORM Event
|
FORM Event -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
戻り値 | オブジェクト |
![]() |
イベントオブジェクト | |||||
FORM Event は、発生したフォームイベントに関する情報を格納しているオブジェクトを返します。通常、FORM Event はフォームまたはオブジェクトメソッド内にて使用します。
返されるオブジェクト
返されるオブジェクトは、それぞれ以下のメインのプロパティを格納しています:
プロパティ | 型 | 詳細 |
objectName | テキスト | イベントをトリガーしているオブジェクト名。フォームによってトリガーされている場合には含まれていません。 |
code | 倍長整数 | フォームイベントの数値。Form event code を参照のこと。 |
description | テキスト | フォームイベント名(例: "On After Edit") |
例えば、ボタンをクリックした場合、オブジェクトには以下のプロパティが格納されます:
{
"code":4,
"description":"On Clicked",
"objectName":"Button2"
}
イベントオブジェクトには、イベントが発生したオブジェクトによっては追加のプロパティが含まれていることがあります。これは以下のオブジェクトで生成されたeventObj オブジェクトが対象です:
注: カレントのイベントが何もない場合、FORM Event はnull オブジェクトを返します。
ボタン上でOn Clicked イベントを管理したい場合を考えます:
If(FORM Event.code=On Clicked)
...
End if
カラムオブジェクト名に、実際のデータクラスの属性名を以下のように設定した場合:
On Header Click イベントを使用してカラムをソートすることができます:
Form.event:=FORM Event
Case of
:(Form event code=On Header Click)
if(Form.event.columnName="lastname")
Form.employees:=Form.employees.orderBy(Form.event.columnName+", firstname")
End if
End case
リストボックスオブジェクトのOn Display Details イベントが発生したときに、メタ情報式 プロパティに設定したメソッドを実行したい場合を考えます:
setColor メソッドの中身です:
C_OBJECT($event;$0;$meta)
$event:=[#current_title_incod]
$meta:=New object
Case of
:($event.code=On Display Detail)
If($event.isRowSelected)
$meta.fill:="lightblue"
End if
End case
$0:=$meta
その結果、行が選択された際のリストボックスは以下のようになります:
プロダクト: 4D
テーマ: フォームイベント
番号:
1606
初出: 4D v18
変更: 4D v18 R2
ランゲージリファレンス ( 4D v20 R7)