PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
5317 99/03/04 16:18:22 RE(2):PB5.0.01: getrow()の結果の変化 By honda
5314 99/03/04 12:59:45 RE(1):PB5.0.01: getrow()の結果の変化 By リエッチ
5312 99/03/04 11:04:35 PB5.0.01: getrow()の結果の変化 By honda

カテゴリ:スクリプトの記述
日付:1999年03月04日 12:59 発信者:リエッチ
題名:RE(1):PB5.0.01: getrow()の結果の変化

hondaさんこんにちは。リエッチと申します


>ウィンドウのオープンにて、以下を記述しました。

>  dw_1.Modify(\"A.Protect=\'1\'\")
>  dw_1.Modify(\"B.Protect=\'1\'\")
>  dw_1.Modify(\"C.Protect=\'1\'\")
>  messagebox(\"getrow()\",string(dw_1.getrow())) ← (1)
>  dw_1.Modify(\"D.Protect=\'1\'\")
>  messagebox(\"getrow()\",string(dw_1.getrow())) ← (2)
>  dw_1.ScrollToRow ( 1 ) 

>(1)の結果=1
>(2)の結果=0

これは、行全てのカラムが「保護」されてしまったために、
現行の行の行き場所が無くなってしまったせいだと思われます。
修正可能なカラムを全てスクリプトで「protect保護」してしまうと
こういった事が起きるようです。

いろいろ試してみる価値はあるとおもいます
OPENでプロテクトしているからには、あるタイミングで
編集可能にするんですよね?

だったら、最初からカラムのタブ順序を「ゼロ」にしておいて、
編集するタイミングがきたら、タブ順序に数値を入れるのはどうでしょう?
私はそうやってやっています。

>となり、ScrollToRowでdw_1のRowfocuschangedが起動してしまいます。
>カラムDのmodifyをコメントすると起動しません。
>dw_1には1行以上が存在します。この違いはどこからでてくるのでしょうか?

ヘルプにも載っていますが、ScrollToRow関数は、「rowfocuschangedイベント」を
引き起こすと書いてありますので、これはしょうがないでしょう
コメントにするとイベントが起動しないのは、現行の行が「ゼロ」になってしまった
ためだと思います。

編集可能カラムを全て「protect」にすると、現行行がとれなくなるのかな?
私は今までタブ順序や背景色などで、入力可能/不可能を制御していたので
気付きませんでした (^o^;)

protectを使ったとしても、カラム1個/2個だけだったので
GETROWで現行行はとれていたし・・

検討お祈りします



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS INFORMIX Net 5
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS INFORMIX-OnLine 5.00
WebServer (記載なし)

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