PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
14759 01/03/09 22:41:58 RE(5):PB7.0: リストビューで選択されている項目を取得したいです。 By コマドリ
14749 01/03/09 00:59:57 RE(4):PB7.0: リストビューで選択されている項目を取得したいです。 By Taka
14742 01/03/08 18:16:43 RE(3):PB7.0: リストビューで選択されている項目を取得したいです。 By コマドリ
14739 01/03/08 17:04:14 RE(2):PB7.0: リストビューで選択されている項目を取得したいです。 By Taka
14737 01/03/08 16:42:32 RE(1):PB7.0: リストビューで選択されている項目を取得したいです。 By Taka
14736 01/03/08 15:02:43 PB7.0: リストビューで選択されている項目を取得したいです。 By コマドリ

カテゴリ:スクリプトの記述
日付:2001年03月09日 00:59 発信者:Taka
題名:RE(4):PB7.0: リストビューで選択されている項目を取得したいです。

コマドリさん、おはようございます。

>ですが、項目が一つしかなく、その項目を選択した場合によく分からないことが起こります。
>通常上記のスクリプトでidx = 1とすると次の項目から検索に行くはずなので戻り値が-1になると思ったのですが、
>1が返ってきてしまいます。

あぁ、そういう事ですね。
Find関数の第一パラメータに 1 を指定しているのに、戻り値が 1 になっていると。
だから永久ループに入ってしまう訳ですね。

PB7.0.3で試してみたら、こちらでも再現できました。
PB6.5ではこのような状況にならない事から、PB7のバグと思われます。

スクリプトで解決したいのでしたら、
 idx = FindItem( idx, DirectionDown!, False, True, False, False )
の部分を
 idx = FindItem( idx, DirectionAll!, False, True, False, False )
にしてみてください。
こちらでは、この修正で回避できました。

あるいは、index = 1 to lv_1.TotalItems() をループで回しながら、GetItemでListViewItem構造体を取得し、
Selected属性をチェックするという方法も考えられます。
Find関数に比べるとパフォーマンスが落ちると思いますが、ロジック的には確実かもしれません。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

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

Server SoftWare

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

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