2013-11-15 166 views
0

我試圖擺脫在vb.net列表視圖值從列表視圖項目,但不斷收到一個錯誤信息:vb.net檢索的SelectedIndexChanged

「的SelectedItem」不是系統」的成員。 Windows.Forms.ListView」。

我想我需要將eventargs更改爲其他某種事件類型,但是我正在爲此付出努力。有人可以指出我的錯誤。由於

Sub filllistview() 
     Try 
      'creatconn() 
      cn.Open() 
      Dim cmd As OleDbCommand = New OleDbCommand("Select * from Customers", cn) 
      dr = cmd.ExecuteReader() 
      While dr.Read() 
       ListView1.Items.Add(dr(0).ToString()) 
       ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(dr(1)) 

      End While 

     Catch ex As Exception 
      System.Windows.Forms.MessageBox.Show(ex.Message) 
     Finally 
      dr.Close() 
      cn.Close() 
     End Try 
    End Sub 

需要在這裏

Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As EventArgs) Handles ListView1.SelectedIndexChanged 
     Try 
      showcontectsinlistview() 
      str = ListView1.SelectedItem **<--- ERROR** 

     Catch ex As Exception 
      MessageBox.Show(ex.Message) 
     End Try 
    End Sub 

回答

2

這是真的抓到怎麼一回事,因爲它不存在 「的SelectedItem」 屬性。 ListView對象有一個屬性「SelectedItems」,這是一個集合。所以你可以使用類似的東西:listView1.SelectedItems[0].

有了這個,您將擁有由「SelectedItems」屬性給出的集合中的第一個選定項目。要通過所有選定項目導航,您可以通過這種方式他們之間循環:

For Each itm As ListViewItem In ListView1.SelectedItems 
If itm.Selected Then 
    For i As Integer = 0 To itm.SubItems.Count - 1 
     str += itm.SubItems(i).Text 
    Next 
End If 
Next 

這樣你建立與所有選定項目的所有值的字符串。如果你在列表視圖中只有一個選定的項目,你將只有這個值。

+0

還是同樣的錯誤斯特凡諾。謝謝 – user1532468

+0

我編輯答案。而且,當我們在這裏時,請說明什麼類型的變量是「str」,謝謝。 –

+0

Dim str As String = Nothing。謝謝 – user1532468

0

看看下面這個例子

Private Sub lstDirectoryInfo_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstDirectoryInfo.SelectedIndexChanged 
    Dim str As String = String.Empty 

    For Each itm As ListViewItem In lstDirectoryInfo.SelectedItems 
     If itm.Selected Then 
      For i As Integer = 0 To itm.SubItems.Count - 1 
       str = itm.SubItems(i).Text 
      Next 
     End If 
    Next 
    MessageBox.Show(str) 
End Sub