2011-04-28 5 views
1

J'ai un Listview et un bouton comme celui-ciImpossible de supprimer Listview article

enter image description here

est Ci-dessous le code que je l'ai utilisé pour la suppression des données de Listview

Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click 
    If lvNotesList.SelectedItems.Count > 0 Then 
     Dim Result = MsgBox("Are sure you want to Delete the Selected Item ?", MessageBoxButtons.YesNo + vbQuestion) 
     If Result = DialogResult.Yes Then 
      Dim ID As String = lvNotesList.SelectedItems(0).SubItems(0).Text 

      Try 
       Dim sqlConnection As New SQLite.SQLiteConnection() 
       Dim sqlCommand As New SQLiteCommand("", sqlConnection) 
       Dim sqlPath As String = "Data Source=" & Application.StartupPath & "\Database\SimpleDB.db3" 
       Dim sqlQuery As String = "DELETE FROM Notes WHERE NoteID = " & ID 
       sqlConnection.ConnectionString = sqlPath 
       sqlConnection.Open() 
       sqlCommand.CommandText = sqlQuery 
       sqlCommand.ExecuteNonQuery() 
       sqlConnection.Close() 
       MsgBox("Operation Successfull", vbInformation) 
      Catch ex As Exception 
       MsgBox("Error: Operation Unsuccessfull." & Chr(13) & "Sumamry:" & ex.Message, vbExclamation) 
      End Try 

     Else 
      Exit Sub 
     End If 
    Else 
     MsgBox("Select an Item First", vbExclamation) 
    End If 
End Sub 

pour une raison quelconque produit une erreur comme celle-ci

enter image description here

Comment puis-je résoudre ce problème?

Répondre

2

Le MsgBox provoque la perte de focus du ListView, ce qui efface la sélection. Vous devez définir la propriété HideSelection de votre ListView sur false.

EDIT:

Essayez cette

If lvNotesList.SelectedItems.Count > 0 Then 
     Dim ID As String = lvNotesList.SelectedItems(0).SubItems(0).Text 
     Dim Result = MsgBox("Are sure you want to Delete the Selected Item ?", MessageBoxButtons.YesNo + vbQuestion) 
     If Result = DialogResult.Yes Then 
+0

Oui il fonctionne parfaitement lorsque je retire le msgbox. Mais alors comment puis-je avertir l'utilisateur? –

+0

Définissez HideSelection sur false pour votre listview par le concepteur. –

+0

Ce ne fonctionne pas comme ça –