ListViewで選択状態を特定文字で行うには?

解決


よし  2008-02-29 12:13:27  No: 144497

ver:vb2005

下記のコードにてButton1をクリックすると
102が選択状態になりますが、
102を指定して
102が選択状態になる方法があればご教授いただきたいです。
よろしくお願いします。

Public Class Form1
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      With ListView1
         .Items(1).Selected = True
         .Select()
      End With
   End Sub
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      With ListView1
         .View = View.Details
         .Columns.Add("タイトル1", 100, HorizontalAlignment.Left)
         .Columns.Add("タイトル2", 100, HorizontalAlignment.Left)
         .Items.Add("101", 0)
         .Items(0).SubItems.Add("aaaaa")
         .Items.Add("102", 1)
         .Items(1).SubItems.Add("bbbbb")
         .Items.Add("103", 2)
         .Items(2).SubItems.Add("ccccc")
      End With
   End Sub
End Class


秋乃夜風  2008-02-29 18:10:58  No: 144498

他にもっといい方法もあるような気もしますが…
簡単にやろうと思ったらこんな感じでしょうか?

        Dim strTarget As String = "102"  '検索対象の値
       
       With ListView
            For i As Integer = 0 To .Items.Count - 1
                If .Items(i).SubItems(0).Text = strTarget Then
                    .Items(i).Selected = True
                    .Select()
                    Exit For
                End If
            Next
        End With


やじゅ  2008-02-29 18:11:41  No: 144499

質問の意味がいまいち不明ですが、
IndexOfメソッドでよろしいかな?http://www.atmarkit.co.jp/fdotnet/dotnettips/128hasstring/hasstring.html


よし  2008-03-01 03:29:56  No: 144500

秋乃夜風さん、やじゅさんご教授ありがとうございました。
秋乃夜風さんのループ方法で対処させていただきました。
IndexOfメソッドでの文字列の検証方法も初めて知りました。
良かったです。


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




  


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