PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
15566 | 01/06/21 09:36:09 | RE(2):PB7.0: Number型のエディット項目に数字以外入力できなくするには By きん |
15564 | 01/06/21 09:10:14 | RE(1):PB7.0: Number型のエディット項目に数字以外入力できなくするには By 川端 |
15562 | 01/06/21 00:40:15 | PB7.0: Number型のエディット項目に数字以外入力できなくするには By きん |
カテゴリ:スクリプトの記述
日付:2001年06月21日 09:10 発信者:川端
題名:RE(1):PB7.0: Number型のエディット項目に数字以外入力できなくするには
きんさん、おはようございます。
>dw上のNumber型エディットカラムにアルファベットを入力し、Enterを押下すると「とてつもない数字」に変換
されてし
>まう現象に悩まされています。
>Deleteキー押下後にEnterを押下されても「とてつもない数字」になってしまいます。
数値のみを入力させたい場合は、エディットマスク属性にするのが手っ取り早いです。
但し、PowerBuilderのエディットマスクは、少々癖がありますが…。
あとは、ItemChangedイベントとItemErrorイベントに以下のような処理を施すのでは駄目でしょうか?
---------------------------
(ItemChangedイベント)
IF dwo.name = [判断したいカラム名] THEN
IF IsNull( data ) OR IsNumber( data ) = FALSE THEN
// メッセージボックスを画面に出したい場合はここに記述する
return 1
END IF
END IF
---------------------------
(ItemErrorイベント)
// 余計なエラーメッセージを出さないために1を返す
return 1
---------------------------
ここでのポイントは、対象のカラムのプロパティ「空文字列をNULLとする」にチェックを
付けておく事です。そうすると、ItemChangedイベントでIsNull関数を利用できますから。
私も、データウィンドウの入力で、数値だけを入力させようと色々努力をしてきたのですが、
最近では「たとえ英文字や記号を入力されてもしょうがない」と思ってます。
結果的に、数値以外の値が残らなければ良いのですから。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.