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

VB.NET Discussion :

actualiser une combobox


Sujet :

VB.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 428
    Points : 86
    Points
    86
    Par défaut actualiser une combobox
    Bonjour, j'ai une combobox que j'alimente par un fichier texte.
    j'ai fait un bouton sur l'appli pour ouvrir ce fichier texte sur lequel on peut ajouter ou enlever des enregistrement depuis l'appli, mais quand je retourne dans la combobox, c'est pas à jour?
    comment on fait pour mettre à jour la liste dans la combobox, merci

  2. #2
    Membre du Club Avatar de GavrocheNET
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Salut,

    Comment tu alimentes ta combobox ?

    Si après les modifications, tu clear les items de la combobox et que tu relances la procédure de remplissage, ça ne fonctionne pas ?
    Soyons solidaires ! Pensons aux et aux mais surtout aux !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 428
    Points : 86
    Points
    86
    Par défaut
    je l'alimenta par un fichier texte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Dim SR As New StreamReader("\mail.txt")
            Do Until SR.Peek = -1
                Dim Ligne As String
                Ligne = SR.ReadLine()
                Me.ComboBox1.Items.Add(Ligne)
            Loop
            Me.ComboBox1.SelectedIndex = 0
            SR.Close()
    j'ai essayé avec clear mais ça marche pas?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Me.ComboBox1.Items.Clear()
            Dim SR As New StreamReader("\mail.txt")
            Do Until SR.Peek = -1
                Dim Ligne As String
                Ligne = SR.ReadLine()
                Me.ComboBox1.Items.Add(Ligne)
            Loop
            Me.ComboBox1.SelectedIndex = 0
            SR.Close()

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 428
    Points : 86
    Points
    86
    Par défaut
    il met une erreur:
    Une exception non gérée du type 'System.StackOverflowException' s'est produite dans System.Windows.Forms.dll
    sur Me.ComboBox1.Items.Add(Ligne)
    car je met ce code dans ComboBox1_SelectedIndexChanged

  6. #6
    Membre du Club Avatar de GavrocheNET
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Oui car tu vides ta combobox alors qu'elle est en lecture
    Soyons solidaires ! Pensons aux et aux mais surtout aux !

  7. #7
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par pascb423 Voir le message
    j'ai essayé avec clear mais ça marche pas?
    Lorsque tu alimentes ta ComboBox, tu ajoutes des éléments lus dans un fichier à un instant T. Il est donc normal que la modification du fichier n'entraine pas de modification de la ComboBox. Il te faudrait donc refaire la lecture du fichier une fois que celui-ci est modifié.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Me.ComboBox1.SelectedIndex = -1
            Me.ComboBox1.Items.Clear()
            Dim SR As New StreamReader("mail.txt")
            Me.ComboBox1.Items.AddRange(SR.ReadToEnd().Split(Environment.NewLine))
            SR.Close()
            Me.ComboBox1.SelectedIndex = 0       
        End Sub
        Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            If ComboBox1.SelectedIndex > -1 Then
     
     
            End If
        End Sub
    Dernière modification par Invité ; 24/10/2016 à 15h01.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 428
    Points : 86
    Points
    86
    Par défaut
    il y a quoi entre le then et le end if?

  10. #10
    Membre du Club Avatar de GavrocheNET
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Eh bien... ce que tu comptais mettre à la base dans le SelectedIndexChanged ...

    ça me parait obscure que tu alimentes ta combobox dans cette procédure, mais si tu n'as rien d'autre à y faire et bien retire là...

    dans tous les cas, la procédure SelectedIndexChanged est une procédure de lecture donc tu ne peux pas modifier la collection dans celle-ci.
    Soyons solidaires ! Pensons aux et aux mais surtout aux !

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pascb423 Voir le message
    il y a quoi entre le then et le end if?
    ton code qui plante quand la sélection change ComboBox1.SelectedIndex=-1 indique qu'il n'y a rien de sélectionné!

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 428
    Points : 86
    Points
    86
    Par défaut
    non, ca ne marche pas ca écrit deux fois les items

    en fait dans mon form load je charge la combobox1 avec le fichier texte, ça ça marche, mais quand je fais des modifications dans le fichier texte ça ne les prends pas en compte dans l'appli ou alors je suis obligé de quitter l'appli et de recommencer et la ça marche mais j'aimerai ne pas être obligé de quitter l'appli vous comprenez?

  13. #13
    Membre du Club Avatar de GavrocheNET
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Si t'as procédure de remplissage est dans ton formload c'est normal qu'il ne prenne pas en compte les modifs puisque cette procédure n'est appelée qu'à l'ouverture du formulaire...

    Sépare cette procédure de remplissage de manière à pouvoir l'appeler manuellement. A la fin des modifications tu clear les items de ta combobox et tu appelles la procédure de remplissage, il n'y a pas de raison pour que ça ne fonctionne pas normalement..

    La clé, c'est de mieux structurer tes procédures.
    Soyons solidaires ! Pensons aux et aux mais surtout aux !

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 428
    Points : 86
    Points
    86
    Par défaut
    mais il faut bien qu'a l'ouverture la combobox soit remplie?

  15. #15
    Membre du Club Avatar de GavrocheNET
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Bien sur, mais au lieu de créer la procédure dans le load, tu créer une procédure séparée que tu appelleras dans le load ET au moment de ton actualisation
    Soyons solidaires ! Pensons aux et aux mais surtout aux !

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 428
    Points : 86
    Points
    86
    Par défaut
    je vais essayer

  17. #17
    Invité
    Invité(e)
    Par défaut
    Oui c'est pour cela comme le dit si justement GavrocheNET il faut créer une procédure séparée!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       RemplieCombobox
    End Sub 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
     RemplieCombobox
    End Sub 
    Private Sub RemplieCombobox()
            Me.ComboBox1.SelectedIndex = -1
            Me.ComboBox1.Items.Clear()
            Dim SR As New StreamReader("mail.txt")
            Me.ComboBox1.Items.AddRange(SR.ReadToEnd().Split(Environment.NewLine))
            SR.Close()
            Me.ComboBox1.SelectedIndex = 0       
    End Sub

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 428
    Points : 86
    Points
    86
    Par défaut
    j'ai creer une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function remplissage()
            Dim SR As New StreamReader("\mail.txt")
            Do Until SR.Peek = -1
                Dim Ligne As String
                Ligne = SR.ReadLine()
                Me.ComboBox1.Items.Add(Ligne)
            Loop
            Me.ComboBox1.SelectedIndex = 0
            SR.Close()
        End Function
    Dans la sub combobox change je vide la liste et j'appelle la fonction remplissage mais il me met la meme erreur sur Me.ComboBox1.Items.Add(Ligne) stack

  19. #19
    Invité
    Invité(e)
    Par défaut
    ma fonction fait tou ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub RemplieCombobox()
            Me.ComboBox1.SelectedIndex = -1
            Me.ComboBox1.Items.Clear()
            Dim SR As New StreamReader("mail.txt")
            Me.ComboBox1.Items.AddRange(SR.ReadToEnd().Split(Environment.NewLine))
            SR.Close()
            Me.ComboBox1.SelectedIndex = 0       
    End Sub
    si non oui tu rappels la fonction


    ça ça remplace le DoUntil SR.Peek = -1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ComboBox1.Items.AddRange(SR.ReadToEnd().Split(Environment.NewLine)

  20. #20
    Membre du Club Avatar de GavrocheNET
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2016
    Messages : 54
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par pascb423 Voir le message
    Dans la sub combobox change je vide la liste et j'appelle la fonction remplissage mais il me met la meme erreur sur Me.ComboBox1.Items.Add(Ligne) stack
    C'est normal, comme nous te l'avons indiqué, tu ne peux modifier la collection alors qu'elle est en lecture, donc tu ne dois pas appeler ta procédure de remplissage dans SelectedIndexChanged, ça n'a pas de sens
    Soyons solidaires ! Pensons aux et aux mais surtout aux !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Actualiser une combobox apres ajout
    Par chabibabatounde dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/04/2016, 12h09
  2. [Débutant] C# actualiser une comboBox
    Par Tanaes dans le forum C#
    Réponses: 6
    Dernier message: 31/01/2015, 11h12
  3. probleme actualisation d'une combobox générée par macro.
    Par elombre dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 11/06/2009, 13h38
  4. Code d'actualisation d'une combobox
    Par benoit13 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/07/2008, 17h30
  5. actualisation d'une combobox
    Par norkoffire dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 26/06/2007, 11h54

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