PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
19260 03/04/09 13:14:30 RE(7):DWで特定のカラム位置で文字入力を受け付けなくさせる方法 By t-shimmy
19259 03/04/09 10:09:08 RE(6):DWで特定のカラム位置で文字入力を受け付けなくさせる方法 By msr
19257 03/04/08 19:41:49 RE(5):DWで特定のカラム位置で文字入力を受け付けなくさせる方法 By t-shimmy
19254 03/04/08 16:52:30 RE(4):DWで特定のカラム位置で文字入力を受け付けなくさせる方法 By msr
19253 03/04/08 16:30:59 RE(3):DWで特定のカラム位置で文字入力を受け付けなくさせる方法 By t-shimmy
19252 03/04/08 15:16:00 RE(2):DWで特定のカラム位置で文字入力を受け付けなくさせる方法 By msr
19248 03/04/08 14:41:40 RE(1):DWで特定のカラム位置で文字入力を受け付けなくさせる方法 By t-shimmy
19246 03/04/08 13:49:12 DWで特定のカラム位置で文字入力を受け付けなくさせる方法 By msr

カテゴリ:スクリプトの記述
日付:2003年04月08日 19:41 発信者:t-shimmy
題名:RE(5):DWで特定のカラム位置で文字入力を受け付けなくさせる方法

msrさん、こんばんは。

>これで入力出来なくなり、OKなのですが、フォーカスは当たって欲しいんですよね。
>フォーカスが当たるように・・・ならないでしょうか(別場所に記述するとしても・・・)。
>すみません、応用力が無くて・・・。

基本的にフォーカスは入力可能じゃないと当たらないようなので、カラムはPROTECTしないで、
入力可能とし、入力された場合、入力を無効にする(元のデータに戻す)方法ですかね。
そうなると、まず RowFocusChangeイベントで変更前のデータをインスタンス変数に保存し、
ist_work = this.getitemstring(currentrow,\"N_column\") 

ItemChangeイベントで、statusがDataModified! だったら元のデータに戻し
かつ、statusもNotModified!にもどす。

if \"N_column\" = this.getcolumnname( ) then //Nカラム目の項目にフォーカスが当たっている場合、
  if this.getitemstatus( row , 0, Primary! ) = DataModified! then //状態
    this.setitem(row,\"N_column\",ist_work)
        this.setitemstatus(row,\"N_column\",Primary!,NotModified!)
        return 2
  end if
end if

というのはどうですか?


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows 2000
DBMS Oracle SQL*Net 8
Browser (記載なし)

Server SoftWare

OS Windows NT 4.0
DBMS Oracle 8.0
WebServer (記載なし)

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