FORM Event
FORM Event : Object
引数 | 型 | 説明 | |
---|---|---|---|
戻り値 | Object | ← | イベントオブジェクト |
説明
FORM Event は、発生したフォームイベントに関する情報を格納しているオブジェクトを返します。通常、FORM Event はフォームまたはオブジェクトメソッド内にて使用します。
返されるオブジェクト
返されるオブジェクトは、それぞれ以下のメインのプロパティを格納しています:
プロパティ | 型 | 詳細 |
---|---|---|
objectName | テキスト | イベントをトリガーしているオブジェクト名。フォームによってトリガーされている場合には含まれていません。 |
code | 倍長整数 | フォームイベントの数値。Form event code を参照のこと。 |
description | テキスト | フォームイベント名(例: "On After Edit") |
例えば、ボタンをクリックした場合、オブジェクトには以下のプロパティが格納されます:
{"code":4,"description":"On Clicked","objectName":"Button2"}
イベントオブジェクトには、イベントが発生したオブジェクトによっては追加のプロパティが含まれていることがあります。これは以下のオブジェクトで生成されたeventObj オブジェクトが対象です:
- リストボックスまたはカラムオブジェクト。詳細はdeveloper.4d.com でのリストボックスのドキュメント を参照してください。
- 4D View Pro エリア。詳細はOn VP Ready フォームイベント を参照してください。
注: カレントのイベントが何もない場合、FORM Event はnull オブジェクトを返します。
例題 1
ボタン上でOn Clicked イベントを管理したい場合を考えます:
If(FORM Event.code=On Clicked)
...
End if
例題 2
カラムオブジェクト名に、実際のデータクラスの属性名を以下のように設定した場合:
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
例題 3
リストボックスオブジェクトのOn Display Details イベントが発生したときに、メタ情報式 プロパティに設定したメソッドを実行したい場合を考えます:
setColor メソッドの中身です:
var $event;$0;$meta : Object
$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
その結果、行が選択された際のリストボックスは以下のようになります: