PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
20422 03/10/09 17:29:52 RE(8):PB6.5: 複数選択した行番号を取得したい By teruteru70528
20419 03/10/09 17:04:42 RE(7):PB6.5: 複数選択した行番号を取得したい By isii
20411 03/10/09 14:07:50 RE(6):PB6.5: 複数選択した行番号を取得したい By teruteru70528
20410 03/10/09 11:39:58 RE(5):PB6.5: 複数選択した行番号を取得したい By hirotyan
20408 03/10/09 10:55:54 RE(4):PB6.5: 複数選択した行番号を取得したい By teruteru70528
20407 03/10/09 10:22:34 RE(3):PB6.5: 複数選択した行番号を取得したい By teruteru70528
20406 03/10/09 09:44:33 RE(2):PB6.5: 複数選択した行番号を取得したい By hirotyan
20402 03/10/08 17:58:04 RE(1):PB6.5: 複数選択した行番号を取得したい By teruteru70528
20401 03/10/08 17:56:56 PB6.5: 複数選択した行番号を取得したい By teruteru70528

カテゴリ:スクリプトの記述
日付:2003年10月09日 09:44 発信者:hirotyan
題名:RE(2):PB6.5: 複数選択した行番号を取得したい

teruteru70528さん、おはようございます。

>複数選択した行番号を取得したいのですが、以下のスクリプトだと2回目のループで
>getSelectedRowの戻り値が0になってしまいます。例えば10行あるデータの5行目から
>8行目までを選択(5行目をクリックしてからshiftキーを押して8行目をクリック)して
>削除ボタンを押下した時に5行目は削除されるのですが、それ以降が削除されません。
>getSelectedRowの戻り値が選択している行を認識するにはどうしたらよいのでしょうか。

一度削除してから次の行を探そうとしてうまくいかないなら、
すべての行を探しておいてから削除するといいのではないでしょうか?
削除していくごとに当然行数は減っていくので、その辺も考慮
する必要がありますが。


載っていたスクリプトを使うなら、
(削除ボタンを押下したときのスクリプト)
boolean rowCount[]
long delRow,ltotalcnt,x_cnt

//選択されている行を取得する
ltotalcnt = dw_1.rowCount()
x_cnt = 0
for i = 1 to ltotalcnt
 x_cnt = dw_1.getSelectedRow( i )
 if x_cnt = 0 then
  exit
 end if
 rowCount[x_cut] = true
 i = x_cut + 1
next

//行の削除
delRow = 0
for i = 1 to ltotalcnt
 if rowCount[i] then
  DeleteRow( i - delRow )
  delRow++
 end if
next

みたいな感じでしょうか。
ちなみにスクリプトのチェックを
してないので、うそ八百かもしれませんが
なんとなく雰囲気は解ると思います。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

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

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

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