この様なケースの場合は、初回ロードの判断用変数を用意し、
その内容を確認してDBからの読み込みを行う・行わないを判断するように
変更することで対応可能と思われます。
この時、判断用変数は画面上に配置してください。
画面上に配置されていない場合、ロード時に自動的に初期化されます。
2011年3月1日16:49 佐藤 裕也 <satou.yuuya@jsys.co.jp>:
> お世話になっております。
>
>>> 画面オブジェクトでは以下の順番でイベント実行されていると思います。
>>> 1.startイベント
>>> 2.変数読み取り
>>> 3.ユーザ定義イベント
>>> 4.refreshイベント
>>> 5.loadイベント
>
>>これは意図的に制御することはできません。
> WEBパネル画面にてフリースタイルグリッドを使用していまして
> 以下のような処理を実装しようとしています。
>
> 1.画面表示時、loadイベントにてグリッドに表示用データセット(DBより取得)
> 2.画面上にてグリッド内の値の編集を行う
> 3.ユーザ定義イベントによるValidateチェック(サーバアクセスあり)
> 4.チェックに問題がない場合、データ更新処理
>
> この場合、不正な値を入力した場合、3のチェックでひっかかりますが
> その後、必ずloadイベントが実行されてしまうため
> 2にて入力した値が画面上で破棄され、loadイベントにてDBより取得した値が再表示されてしまいます。
>
> 例)
> 1.画面表示時、値として「10」が表示されている
> 2.画面上から「10」→「ああ」に変更する
> 3.ユーザ定義イベントによるValidateチェックにひっかかる(サーバアクセスあり)
> 4.loadイベントが実行され、「10」に戻ってしまう
>
> 理想としてはValidateチェックで引っかかっても入力した値をそのまま表示させたいのですが
> イベント実行順序の意図的な制御ができないとしたら、何か対処法はありますでしょうか。
>
> よろしくお願いします。
>
>
> ------Original Message------
> 送信元:"中村信道"<nakamura@genexus.jp>
> 送信先:japan@gxlists.com
> CC:
> 件名:Re: [japan] 画面オブジェクトのイベント実行順序について
> 送信日時:2011年03月01日 15:24:35(+0900)
>>記載されている順序にて実行されるのは、ユーザ定義イベントにて、
>>サーバーアクセスやサーバーサイドで実行される関数が記載されている場合になります。
>>これは意図的に制御することはできません。
>>
>>2011年2月24日16:47 佐藤 裕也 <satou.yuuya@jsys.co.jp>:
>>> お世話になっております。
>>>
>>> 画面オブジェクトのイベント実行順序について質問させてください。
>>>
>>>
>>> 画面オブジェクトでは以下の順番でイベント実行されていると思います。
>>> 1.startイベント
>>> 2.変数読み取り
>>> 3.ユーザ定義イベント
>>> 4.refreshイベント
>>> 5.loadイベント
>>>
>>> 独自でイベントを定義した場合、3.として実行されて、自動的に4.と5.も実行されているように見えます。
>>>
>>> これを意図的に制御することは可能でしょうか。
>>> 例)あるユーザイベントが動いた時はrefreshイベントとloadイベントは動かないようにする
>>>
>>>
>>> よろしくお願いします。
--
Has recibido este mensaje porque estás suscrito al grupo "GeneXus" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a genexus@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a genexus+unsubscribe@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/genexus?hl=es.
0 Response to "Re: Re: [japan] $B2hLL%*%V%8%'%/%H$N%$%Y%s (B $B%H<B9T=g=x$K$D$$$F (B"
Publicar un comentario