PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
13712 | 00/10/26 17:20:30 | RE(2):PB7.0: 編集可能なDDDWに手入力したコードがリストに存在しない時の処理 By ともりん |
13710 | 00/10/26 15:24:26 | RE(1):PB7.0: 編集可能なDDDWに手入力したコードがリストに存在しない時の処理 By コジマット |
13707 | 00/10/26 14:34:16 | PB7.0: 編集可能なDDDWに手入力したコードがリストに存在しない時の処理 By ともりん |
カテゴリ:スクリプトの記述
日付:2000年10月26日 14:34 発信者:ともりん
題名:PB7.0: 編集可能なDDDWに手入力したコードがリストに存在しない時の処理
みなさん、こんにちは。また知恵を貸してください。
NUMBER型のカラムAの編集様式をDDDWとし、編集可能とします。
【データ値】 【表示値】
100 表示データ1
200 表示データ2
300 表示データ3
400 表示データ4
ユーザーの操作としては以下の3パターンです。
? リストから選択する。
? リストに存在するコードを手入力する。
? リストに存在しないコード(たとえば500)を手入力する。
?・?の時はリストに存在するコードを選択しているため、
表示に問題はないのですが、
?の時は入力確定後、入力されたコードに最も近いコードを
リストより取得し、表示させなければなりません。
つまり500を入力 → 400に自動的に変換が行われなければならないのです。
データウィンドウのItemChangedイベントに変換処理・変換後のデータセット処理を記述しており
、変換処理はうまく行くのですが、変換されたデータ(400)をAカラムにセットする際、
ll_getcode ← 変換後の変数
dw_1.SetItem( 1, A, ll_getcode )
としてもうまく動いてくれず、Aカラムには500がセットされたままなのです。
(ItemChangedイベント終了後画面に500が残ったままである)
ちなみにこのロジックをItemFocusChangedイベントに
記述すればうまく行き、Aカラムには400がセットされます。
(イベント終了後の画面表示は400の表示値が表示される。)
なんとかItemFocusChangedイベントを使用することなく、
ItemChangedイベント内でセット処理も行いたいのですが、
なにかよい方法はないのでしょうか?
よろしくお願いします。
付加情報:
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.