リスト処理について

解決


かかし  2005-03-08 03:45:34  No: 120086

いつもお世話になっております。

今回リストの処理で詰まってしまいまして、お知恵をお借りしたいのですが
ある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


LESIA  2005-03-08 06:00:52  No: 120087

TopIndexプロパティを調べてみると幸せになれるかもしれません。


かかし  2005-03-08 22:27:34  No: 120088

LESIA様  御回答有難う御座いました。
TopIndexを使用する事により、無事解決する事が出来ました。
どうも有り難う御座いました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加