GeneXus X Evolution 3 には、クライアント側で実行される新しいコマンドが導入されています。
以前のバージョンから、サーバー内でアクションを実行する必要がないユーザーイベントは、クライアント内 (ブラウザー内) で実行されていました。
GeneXus Evolution 3 では、サーバーへの接続が不要なコマンドだけでなく、より多くのコマンドがクライアント側で実行されます。
このようなイベントを、ここではクライアント側のイベントと呼びます。これらはクライアント内で実行される javascript ルーチンを使用して実行されるイベントであり、ページの再表示はまったく行わず、イベントの実行は非同期で行われます。
すべてのコード行がクライアント側で実行されるイベントの場合、そのイベント全体がクライアント内で実行されます。これにより、ページ全体の再表示を行わないようにイベントの動作が変更されます。これはクライアント側のイベントの特徴です。
[ Web User Experience ] プロパティとは独立していることに注意してください。 [ Web User Experience ] が Smooth に設定されていると、すべてのイベントがクライアント側で実行されます。
GeneXus Evolution 3 では、Web コンポーネントオブジェクトの作成および再表示もクライアント側で実行されます。つまり、あるユーザーイベントに Web コンポーネントの作成または再表示のみが含まれている場合、このイベントはクライアント内で実行されるということです。その結果、対応する Web コンポーネントはロードまたは再表示されますが、コンテナオブジェクトでは Start、Refresh、または Load イベントは実行されません。
具体例を挙げると、次のコードの場合、ページ全体の強制的な再表示は行われず、WebComponent1 のみが再表示されます。
Event "CreateWebComponent"
//クライアント側でも実行されるコード
webcomp1.object = WebComponent1.create(¶m1,¶m2) //webcomp1 は Web Component コントロール
EndEvent
または
Event "RefreshWebComponent」
//クライアント側でも実行されるコード
WebComponent1.Refresh()
EndEvent
GeneXus Evolution 3 では、For Each Line コマンド内のコードがクライアント側で実行される場合、このコマンドはクライアント側で実行されます。このコマンドを含むイベントは、コード全体がクライアント側で実行可能であれば、クライアント側で実行されます。
つまり、次のコマンドは、GeneXus Evolution 3 ではクライアント側で実行されます:
この機能は [ Web User Experience ] プロパティとは独立していることに注意してください。
GeneXus Evolution 3 の Web パネル内の Enter イベントは、ユーザーイベントと見なされます。
|