PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
22409 | 06/01/18 17:54:14 | RE(3):PB6.5: 2回目のItemChangedイベントが流れません。 By たにやん |
22408 | 06/01/18 17:56:02 | すみません。間違って2回書き込みしてしまいました。m(_ _)m By たにやん |
22407 | 06/01/17 16:50:53 | RE(1):PB6.5: 2回目のItemChangedイベントが流れません。 By pavel |
22405 | 06/01/16 15:25:29 | PB6.5: 2回目のItemChangedイベントが流れません。 By たにやん |
カテゴリ:データウィンドウ
日付:2006年01月17日 16:50 発信者:pavel
題名:RE(1):PB6.5: 2回目のItemChangedイベントが流れません。
なぜlosefcusでAcceptTextしてるんでしょうか?
もし、コマンドボタン等他のコントロールのイベント処理で
不都合がないためということでしたら、
コマンドボタン押下時の最初の処理として、DWのAcceptTextをする、が
ノーマルなパターンかなという気がするのですが。
たにやんさん、こんにちは。
>こんにちは。
>過去ログは参照しいろいろ試したのですが、どうしても理解できないので教えてください。
>
>DWの入力チェックを行いたいと思っています。
>ItemChangedイベントにて入力された値をチェックし、
>値が不正な場合はメッセージボックスを表示し、RETURN 1にてフォーカスを移動させない処理を書いて
>います。
>ところがlosefocusイベントにAcceptText()関数を記述すると、ItemChangedイベントが1度しか流れません。
>入力された値をクリアする仕様ではないので
>一度目の入力チェックで不正な値はそのまま→TABキーでカラムフォーカス変更→ItemChanged流れない
>となってしまいます。
>どなたかこれを解決する方法ご存じないでしょうか?
>ちなみに、losefocusイベントのAcceptText()を
>POSTイベントにしたところ、ItemChangedイベントのエラー時に発生させているメッセージボックスが
>無限ループで表示されてしまいました。。
>
>ItemChangedイベント
>//カラムAが4桁に満たない場合エラーにする。
>IF Len(data) <> 0 AND Len(data) <> 8 THEN
> //エラーメッセージ表示
> messagebox(\"\", \"エラーです。\")
> RETURN 1
>END IF
>
>LoseFocusイベント
>This.AcceptText()
>
>ItemErrorイベント
>//値を受け入れないでメッセージボックスを表示しない
>RETURN 1
>
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS Oracle Net8
Browser InternetExplorer
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.