各ユーザーインターフェース (Windows または GUI、Web または HTML、およびテキスト) に特定のルールやイベントを定義します。
EnvironmentAttribute {
rule |
event } | { {
rule … |
event … } }
入力値の説明:EnvironmentAttribute
使用する環境項目属性を指定します。有効な値は次のとおりです。
- [ win ] : イベントやルールを Windows または GUI のフォームにのみ適用することを指定します。この場合、情報の保存時に検証が行われ、対応するジェネレーターのユーザーインターフェースが "Win" タイプの場合にのみ、指定子に送信されます。
- [ web ] : イベントやルールは Web または HTML のフォームに対してのみ有効です。対応するジェネレーターのユーザーインターフェースが "Web" の場合にのみ、情報が指定子に送信されます。
- [ text ] : イベントやルールを、テキストベースのユーザーインターフェースにのみ適用します。
- [ business ] : これが既定値であり、すべてのフォームに適用されることを指定します。この情報は必ず指定子に送信されます。上記の識別子を連結することで ( [ win ] [ web ] [ text ] )、同じ指定を行うこともできます。
rule
オブジェクトに対応する単一のルールまたはルールリスト (セミコロン区切り) を指定します。
event
オブジェクトに対応するイベントまたはイベントリストの詳細です。
注: 2 とおりの構文があります。
- 個別: イベント単位またはルール単位で個別に識別子を適用できます。そのためには、関連づけられている識別子を含めた上で、次の行に実行するルールまたはイベントを含めます。
- ブロック単位: ルールまたはイベントのグループに1つまたは複数の項目属性を適用します。これらのルールまたはイベントは、キー ({ }) で囲む必要があります。
オブジェクト:Transaction、
Work Panel,
Web Panel Web Layout (ルールおよびイベント)
インターフェース: テキスト、Web、Win
[ win ] 、 [ web ] 、 [ text ] 、 [ business ] の各環境項目属性を使用して、対応するイベントやルールを実行する環境を区別できます。ユーザーは、フォームに適したルールやイベントを指定できます。
GeneXus の旧バージョンとナレッジベースの下位互換性があるため、これらの識別子 (環境項目属性) が使われていない場合は既定で [ business ] オプションが想定されます。
例 1
次の例は、ルール/イベントに適用される Individual 構文の詳細な使用方法を示しています。
[ win ] // GUI 環境向けルール
Noaccept(CliCod) If Insert On AfterValidate;
[ win ] [ web ] // Win 環境と Web 環境向けイベント
Event Start
Call( PSettings , &UserId)
EndEvent // Start
NoAccept ルールは、Windows 環境または GUI 環境にのみ適用され、Start イベントは Win 環境と Web 環境で有効です。
例 2
以下の各例は、ブロック構文の使用例を示しています。
[ win ]
{
parm(&CliCod , &Mode);
Noaccept&CliCod);
CliCod = &CliCod If Update Or Delete;
CliCod = udp( PNumber , ‘Cli’ ) If Insert On AfterValidate;
}
[ win ] [ text ]
{
Event Start
Call(PSettings, &UserId)
EndEvent
Event ‘User’ 8
// User イベント
EndEvent
}
{} で区切られた最初のブロック内のルールリストは、Win 環境でのみ実行する必要があるものです。{} で区切られた次のブロック内のイベントグループは、Win 環境と Text 環境で実行する必要があります。
Web トランザクション
トランザクションルール
トランザクション内のイベント
Web パネルのルール