IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Suppression dans une liste vb.net


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 112
    Par défaut Suppression dans une liste vb.net
    Bonjour !

    J'aimerais que lorsque je fais une suppression l'item soit aussitôt retirer de la liste.
    Dans mon code, la suppression se fait bien mais l'objet reste toujours affiché à l'écran. Il faut que lorsque je le supprime les informations a l'écran disparaissent .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     If Item IsNot Nothing AndAlso xIsLoading = False Then
     
                ' Confirmation
                Dim msg As MsgBoxResult = MsgBox("Are you sure that you want to cancel this Item  ?", MsgBoxStyle.Question Or MsgBoxStyle.YesNoCancel)
     
                Select Case msg
                    Case MsgBoxResult.Yes
     
                        If lItem.IsNew = False Then
                            lItem.Delete()
                        End If
     
                        ' Désactivation de l'objet
                        lItem = Nothing
     
                        ' Rechargement des données.
                        cboList.RefreshDataBind()
     
                    Case MsgBoxResult.No, MsgBoxResult.Cancel
     
                        Exit Sub
                End Select
     
        End Sub
    Merci

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour misscricri
    Utilise un BindingSource pour faire la liaison de donnes plutot que de lier directement ta liste a un combobox.
    Avec une liaison directe du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.ComboBox1.DataSource = ListStrings
    Car une fois la liste liee à un controle on ne peut pas supprimer un item de liste liee.
    Pour cela l'intermediare BindingSource est la pour gerer la suppression des 2
    cotes (controle et liste).
    code exemple avec un combox et un listbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
     
    Public Class Form1
     
     
        'Liste de la Class String
        Private ListStrings As List(Of String) = New List(Of String)
        Private myBDSourceString As BindingSource
     
     
        'Liste de Class Personne
        Private ListPersonnes As List(Of Personne) = New List(Of Personne)
        Private myBDSourcePersonne As BindingSource
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            'ComboBox lie à  une  Liste de la Class String
            For i As Integer = 0 To 20
                ListStrings.Add("Str" & (i + 1).ToString)
            Next
            'le BindingSource
            myBDSourceString = New BindingSource
            myBDSourceString.DataSource = ListStrings
            Me.ComboBox1.DataSource = myBDSourceString
            Me.ComboBox1.DataSource = ListStrings
     
            'ListBox lie à une  Liste de Class Personne(ou un datatable si tu veux)
            Dim p As Personne
            For i As Integer = 0 To 9
                p = New Personne
                p.Nom = "Nom" & (i + 1).ToString
                p.Prenom = "Prenom" & (i + 1).ToString
                ListPersonnes.Add(p)
            Next
     
            'le BindingSource
            myBDSourcePersonne = New BindingSource
            myBDSourcePersonne.DataSource = ListPersonnes
     
     
            Me.ListBox1.DataSource = myBDSourcePersonne
            Me.ListBox1.DisplayMember = "Prenom"
        End Sub
        'bouton pour suppression d'un item string
        Private Sub btnDeleteStringItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteStringItem.Click
            ' Confirmation
            Dim msg As MsgBoxResult = MsgBox("Are you sure that you want to cancel this Item  ?" & ComboBox1.SelectedItem.ToString, MsgBoxStyle.Question Or MsgBoxStyle.YesNoCancel)
     
            Select Case msg
                Case MsgBoxResult.Yes
                    myBDSourceString.RemoveAt(Me.ComboBox1.SelectedIndex)
                Case MsgBoxResult.No, MsgBoxResult.Cancel
                    Exit Sub
            End Select
        End Sub
        'bouton pour suppression d'un item Personne
        Private Sub btnDeletePersonne_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeletePersonne.Click
            ' Confirmation
            Dim msg As MsgBoxResult = MsgBox("Are you sure that you want to cancel this Item  ?" & CType(ListBox1.SelectedItem, Personne).Nom, MsgBoxStyle.Question Or MsgBoxStyle.YesNoCancel)
     
            Select Case msg
                Case MsgBoxResult.Yes
                    myBDSourcePersonne.RemoveAt(Me.ListBox1.SelectedIndex)
                Case MsgBoxResult.No, MsgBoxResult.Cancel
                    Exit Sub
            End Select
        End Sub
     
     
    End Class
    Public Class Personne
        Private m_nom As String
        Public Property Nom() As String
            Get
                Return m_nom
            End Get
            Set(ByVal value As String)
                m_nom = value
            End Set
        End Property
        Private m_Prenom As String
        Public Property Prenom() As String
            Get
                Return m_Prenom
            End Get
            Set(ByVal value As String)
                m_Prenom = value
            End Set
        End Property
    End Class
    Bon Code......................

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Suppression dans une liste chainée
    Par dazwy dans le forum C
    Réponses: 10
    Dernier message: 27/12/2011, 16h32
  2. probleme suppression dans une liste chainée
    Par Ganondorf dans le forum Débuter
    Réponses: 7
    Dernier message: 06/10/2010, 19h02
  3. Suppression dans une BDD VB.NET
    Par tiph02 dans le forum VB.NET
    Réponses: 1
    Dernier message: 08/06/2009, 15h42
  4. suppression dans une liste chainée
    Par tomtom421 dans le forum C
    Réponses: 8
    Dernier message: 21/04/2007, 16h29
  5. [LG]suppression dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 9
    Dernier message: 16/12/2003, 21h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo