FORM Event
FORM Event : Object
引数 | 型 | 説明 | |
---|---|---|---|
戻り値 | Object | ← | イベントオブジェクト |
説明
FORM Event returns an object containing information about the form event that has just occurred.FORM Event は、発生したフォームイベントに関する情報を格納しているオブジェクトを返します。 通常、FORM Event はフォームメソッドまたはオブジェクトメソッド内にて使用します。
返されるオブジェクト
返されるオブジェクトは、それぞれ以下のメインのプロパティを格納しています:
プロパティ | 型 | 説明 |
---|---|---|
objectName | text | イベントをトリガーしているオブジェクト名。フォームによってトリガーされている場合には含まれていません。 |
code | integer | フォームイベントの数値。 |
description | text | フォームイベント名(例: "On After Edit") 詳細はForm Events の章を参照してください。 |
例えば、ボタンをクリックした場合、オブジェクトには以下のプロパティが格納されています:
{"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:=FORM Event
$meta:=New object
Case of
:($event.code=On Display Detail)
If($event.isRowSelected)
$meta.fill:="lightblue"
End if
End case
$0:=$meta
その結果、行が選択された際のリストボックスは以下のようになります: