Suppression Item d'une ListBox et Mise à jour automatique LB
Tursiop60
Messages postés38Date d'inscriptionsamedi 20 juin 2009StatutMembreDernière intervention12 septembre 2011
-
9 juil. 2009 à 02:13
Tursiop60
Messages postés38Date d'inscriptionsamedi 20 juin 2009StatutMembreDernière intervention12 septembre 2011
-
9 juil. 2009 à 23:10
Bonsoir,
J'ai le code suivant mais il me manque quelque chose pour qu'il soit opérationnel.
Je souhaiterais supprimer un item de la listbox et la mettre à jour à la fin de la suppression. L'item est bien supprimer de la table de données mais reste présente dans la listbox. En réalité il faut que je ferme le form et le réouvre pour que la listbox soit mise à jour automatiquement (j'ai essayé refresh mais ça n'a pas l'air de marcher)
Je voudrais également ajouter une msgbox demandant confirmation de la suppression.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
With ListBox1.SelectedIndex()
Dim i = ListBox1.Items.Count
If i > 0 Then
Dim T1, T2, Tableau
Tableau = Split(ListBox1.Text, Delimiter:=" ")
T1 = Tableau(0)
T2 = Tableau(1)
Dim strConnexion As String = "Data Source = Diet.sdf "
Dim strRequete As String = "DELETE FROM Clients WHERE NOM='" & T1 & "'"
Dim engine As New SqlCeEngine(strConnexion)
Dim conn As New SqlCeConnection(strConnexion)
conn.Open()
Dim cmd As New SqlCeCommand(strRequete, conn)
Dim oReader As SqlCeDataReader = cmd.ExecuteReader()
oReader.Read()
ListBox1.ClearSelected()
i = i - 1
Me.Refresh()
oReader.Close()
cmd.Connection.Close()
Else : MsgBox(" PAS DE CLIENT DANS LA BASE !" & Chr(10) & Chr(10) & " Retourner au Sommaire pour ajouter un client.", MsgBoxStyle.OkOnly)
End If
End With
End Sub
A votre bon coeur....
A voir également:
Suppression Item d'une ListBox et Mise à jour automatique LB
Tursiop60
Messages postés38Date d'inscriptionsamedi 20 juin 2009StatutMembreDernière intervention12 septembre 2011 9 juil. 2009 à 02:28
J'ai déjà modifier le code en passant par une requête directe sur le tableadapter, mais le problème est toujours là
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
With ListBox1.SelectedIndex()
Dim i = ListBox1.Items.Count
If i > 0 Then
Dim T1, T2, Tableau
Tableau = Split(ListBox1.Text, Delimiter:=" ")
T1 = Tableau(0)
T2 = Tableau(1)
Donnees.ClientsTableAdapter.SupprClient(T1, T2)
i = i - 1
ListBox1.ClearSelected()
ListBox1.Refresh()
Else : MsgBox(" PAS DE CLIENT DANS LA BASE !" & Chr(10) & Chr(10) & " Retourner au Sommaire pour ajouter un client.", MsgBoxStyle.OkOnly)
End If
End With
End Sub
Si ListBox1.SelectedIndex est la ligne sélectionnée de la Listbox à supprimer essaie ceci
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
IfListBox1.Items.Count> 0 Then
Dim T1, T2, Tableau
Tableau = Split(ListBox1.Text, Delimiter:=" ")
T1 = Tableau(0)
T2 = Tableau(1)
Donnees.ClientsTableAdapter.SupprClient(T1, T2)
ListBox1.Remove ListBox1.SelectedIndex
ListBox1.Refresh()
Else : MsgBox(" PAS DE CLIENT DANS LA BASE !" & Chr(10) & Chr(10) & " Retourner au Sommaire pour ajouter un client.", MsgBoxStyle.OkOnly)
End If
End Sub
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Tursiop60
Messages postés38Date d'inscriptionsamedi 20 juin 2009StatutMembreDernière intervention12 septembre 2011 9 juil. 2009 à 23:10
Bonsoir et merci,
J'ai résolu mon problème et en plus j'ai rajouter ma msgbox pour la confirmation :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
With ListBox1.SelectedItem
Dim T1, T2, Tableau
Tableau = Split(ListBox1.Text, " ")
T1 = Tableau(0)
T2 = Tableau(1)
Dim i = ListBox1.Items.Count
If i > 0 Then
If MsgBox(" ! ! ! ! A T T E N T I O N ! ! ! !" & Chr(10) & Chr(10) & _
" Souhaitez-vous confirmer la suppression ?" _
& Chr(10) & Chr(10) & " Toutes les données du client seront perdues définitivement." _
, vbYesNo, "Supprimer " & ListBox1.Text()) = MsgBoxResult.Yes Then
Donnees.ClientsTableAdapter.SupprClient(T1, T2)
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
i = i - 1
If i = 1 Then
Label2.Text() = " Actuellement " & i & " client dans la base de données."
ElseIf i > 1 Then
Label2.Text() = " Actuellement " & i & " clients dans la base de données."
Else : Label2.Text() = " Actuellement aucun client dans la base de données."
End If
End If
Else : MsgBox(" PAS DE CLIENT DANS LA BASE !" & Chr(10) & Chr(13) & " Retourner au Sommaire pour ajouter un client.", MsgBoxStyle.OkOnly)
End If
End With
End Sub