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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.