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日 15:16 発信者:msr
題名:RE(2):DWで特定のカラム位置で文字入力を受け付けなくさせる方法

t-shimmyさん、早速のコメントありがとうございます。

>msrさん、こんにちは。
>単純な疑問ですが、特定の行及びカラム位置で文字入力を受け付けなくする ということは
>入力を出来ないようにするという理解でいいんでしょうか?

エディットでいう「編集不可」の状態です(フォーカスは当たるが入力不可)。

>もしそうだとすると、入力が出来ないカラムにフォーカスを当てる意味は何ですか?

列全てに対して編集不可にするワケではないのと、カーソルがその位置に来た時に
入力したタイミングでそれ(キー)を無効にした方が判り易いかなと思いまして・・・

>このようなケースではそのカラムをPROTECTするかしないかを、データウィンドウ上で判断できるのであれ
ば、
>カラムオブジェクトの「式による設定」でプロパティー(PROTECT)を式で設定する方法が最も簡単だと思いま
す。
>例えば if (col_a = 1 ,1,0) というような式を書きます。またBACKGROUD COLORとかCOLORとかも
>同様にできますが、如何でしょう。

その通りです。式による設定が出来ればラクなのですが、まだ慣れてないもので・・・。
仕様としましては、
「その行が既にDBに登録されている場合はNカラム目の項目を編集不可にする」
というような感じです。ロジック的には、

dwItemStatus l_status

if \"N_column\" = dwx.getcolumnname( ) then  //Nカラム目の項目にフォーカスが当たっている場合、
  l_status = dwx.getitemstatus( dwx.getrow( ) , 0, Primary! )
  if l_status = NotModified! Or l_status = DataModified! then   //状態
    ※ここに入力を無効にするロジックを・・・
  end if
end if

Nカラム目の・・・というのは式の設定でNカラム目に記述するので、いらないとして、
DBに登録されているかどうかを式で書ければいいのですが、判りませんでした。
可能でしょうか?よろしくお願い致します。
(長くなり、すみません)



付加情報:

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.