VB に問題があります。
CheckedListBox
検索中にチェックされたアイテムを保持するコードを作成しようとしています。チェックしたアイテムの名前を格納する配列がありますが、CkeckedListBox.SetCheckedItem()
メソッドを使用する場合はインデックスを使用する必要があり、リスト ボックスで検索するたびにインデックスが変更されます。
これは私がこれまでに持っているものです:
Dim checkeditems(1000) As String
If txtSearch.Text.Length = 1 Then
For i = 0 To 1000
If lstVerktyg.CheckedItems.Item(i) = "" Then
Exit For
End If
checkeditems(i) = lstVerktyg.CheckedItems.Item(i)
Next
End If
Dim Connection As New MySqlConnection("server=" & My.Settings.Host & ";user id=" & My.Settings.User & "; password=" & My.Settings.Pass & "; port=3306; database=" & My.Settings.DB & "; pooling=false")
Try
Connection.Open()
Catch ex As MySqlException
Exit Sub
End Try
Dim Reader As MySqlDataReader
Dim Query As MySqlCommand
Dim ResultsNumber As Integer = 0
lstVerktyg.Items.Clear()
Query = New MySqlCommand("SELECT `namn` FROM `verktyg` WHERE `namn` LIKE '%" & txtSearch.Text.Replace("'", "\'") & "%' LIMIT 300;", Connection)
Reader = Query.ExecuteReader()
While (Reader.Read())
lstVerktyg.Items.Add(Reader.GetString("namn"))
End While
If Reader IsNot Nothing Then Reader.Close()
For i = 0 To 1000
If checkeditems(i) = "" Then
Exit For
End If
If lstVerktyg.GetItemChecked(i) Then
End If
Next
私は何をしますか?