いつもお世話になっております。
今回リストの処理で詰まってしまいまして、お知恵をお借りしたいのですが
あるDBに接続して、結果をリストに表示を行っています。
リストには、チェックボックスを付加させています。
リストの中に複数同じレコードが存在した場合(例えば1行目と4行目)、
どこかにチェックがついた場合(4行目にチェック)、
全てにチェックを付ける(1行目にもチェック)様に行ったのですが、
カーソルの当たっている場所は初めにチェックを付けた場所(4行目のレコード)に戻るのですが、リストのスクロール場所(?)が変わってしまっています。
リストの真ん中ら辺でチェックを付加したのに4行目が画面表示部分の一番下に来てしまう(?)の様になってしまっています。
チェックの付けたレコードを常にリスト画面表示の1行目に表示をさせたいのですが、この処理は可能でしょうか?
ソースは以下の様に作成しております。
回りくどい部分があるかも知れませんが、御回答を宜しくお願い致します。
For i = 0 To リスト.ListCount - 1
If lstComp.List(i) Like "*" & 検索レコード & "*" Then
If i <> リスト.ListIndex Then
If リスト.Selected(リスト.ListIndex) = True Then
リスト.Selected(i) = True
Else
リスト.Selected(i) = False
End If
End If
End If
Next
TopIndexプロパティを調べてみると幸せになれるかもしれません。
LESIA様 御回答有難う御座いました。
TopIndexを使用する事により、無事解決する事が出来ました。
どうも有り難う御座いました。
ツイート | ![]() |