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 :

Mettre à jour la liste des items de combobox


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 18
    Points
    18
    Par défaut Mettre à jour la liste des items de combobox
    Bonjour;

    J'ai un combobox que je rempli au demarrage de form avec les données qui se trouve dans la BD. Comme la BD est utilisée par beaucoup des utilisateurs la table de la quelle je charge le combobox est souvent mis à jour(on y ajoute des données).

    Alors je voudrais qu'à chaque fois que l'utilisateur veut selectionner élément que le combobox ait les données qui sont à jour. Parce que avec la logique que je viens de présenter le combobox est mis à jour seulement lorsque je ferme et ouvre le form(c'est ce que je ne veux pas).

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    J'utilise vb.net. Je veux savoir comment je peux faire qu'à sorte que le combobox ait à tout que l'utilisateur viens dessus les données à jour de la table(vu que la table est souvent mis à jour). Jusque là pour que le combobox ait les données à jour il faut que j'ouvre de nouveau la fenêtre qui le contient.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 235
    Points : 359
    Points
    359
    Par défaut
    Bonjour,
    J'ai un combobox que je rempli au demarrage de form avec les données qui se trouve dans la BD
    Comment charges-tu les données au démarrage?
    Montre le code...

  4. #4
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    Citation Envoyé par sagesse2 Voir le message
    Alors je voudrais qu'à chaque fois que l'utilisateur veut selectionner élément que le combobox ait les données qui sont à jour. Parce que avec la logique que je viens de présenter le combobox est mis à jour seulement lorsque je ferme et ouvre le form(c'est ce que je ne veux pas).
    tu charge ton combo au démarrage, et pourquoi pas à chaque fois que tu déplie ton combo ?
    sinon tu peut faire une source de donnée qui sera mis à jour automatiquement

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Utilises un timer pour rafraichis ta dbgrid.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par ranzoken Voir le message
    tu charge ton combo au démarrage, et pourquoi pas à chaque fois que tu déplie ton combo ?
    sinon tu peut faire une source de donnée qui sera mis à jour automatiquement
    Au fait je charge le combobox avec le datareader et voici la procédure que j'appelle dans form_load :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public sub chargerCategories()
    me.cb_categories.items.clear
     Dim co As New MySqlConnection(Demarrage.connexionstring)
                    Dim com As New MySqlCommand("SELECT categorie FROM categories", co)
                    co.Open()
                    Dim lecteur As MySqlDataReader = com.ExecuteReader
     While lecteur.Read
        me.cb_categories.Items.Add(lecteur("categorie"))
     End While
    lecteur.close
    com.dispose
    co.dispose
    end sub
    j'ai essayais de faire "chaque fois qu'on déplie ton combo" et cela en appellant la procédure dans l'événement click de combobox mais à ma supprise lorsqu'on on clique la petite fenêtre contenant les items ne dire pas pour que je fasse la selection à partir de la liste.
    Je crois que le problème réside au niveau me.cb_categories.items.clear; Je veux tester avec une liaison à une source de donnée(Datasource= datatable) et voir comment ça réagit.

    tu peut faire une source de donnée qui sera mis à jour automatiquement
    Ma question reste comment faire cette mis à jour automatiquement?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Je viens de tester avec la propriété datagridview et j'appelle la procédure click de combobox tout marche bien.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public sub chargerCategories()
       Dim co As New MySqlConnection(Demarrage.connexionstring)
       Dim com As New MySqlCommand("SELECT categorie FROM categories", co)
       Dim Adaptateur As New MySqlDataAdapter(com), donnees As New DataTable
         co.Open()
         Adaptateur.Fill(donnees)
         me.cb_categories.DataSource = donnees
         me.cb_categories.DisplayMember = "categorie"
         me.cb_categories.ValueMember = "categorie"
    com.dispose
    co.dispose
    end sub

  8. #8
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 235
    Points : 359
    Points
    359
    Par défaut
    Bonne année,

    Je ne trouve pas très sage d'interroger régulièrement la BD mais compte-tenu de ce que tu dis:
    la BD est utilisée par beaucoup des utilisateurs
    Je crois que tu n'as pas le choix...

    Comme disait ranzoken, il faudrait le charger à chaque fois que tu le déplies
    Il faut voir comment il se comporte avec ta BD mais j'ai essayé ce code et ça a l'air de fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     Private Sub ComboBox1_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.DropDown
            ComboBox1.Items.Clear()
            For i As Integer = 1 To 500
                ComboBox1.Items.Add(i.ToString)
            Next
        End Sub
    Chez toi ça devrait faire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Private Sub cb_categories_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles cb_categories.DropDown
            chargerCategories
        End Sub

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    @ACIVE_CS
    Je crois que c'est une bonne idée de faire cela lors de dropdown

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

Discussions similaires

  1. Mettre a jour la liste des modules innexistant.
    Par yoanneox dans le forum Odoo (ex-OpenERP)
    Réponses: 6
    Dernier message: 08/02/2014, 10h43
  2. comment blquer la liste des items d une combobox
    Par ryoussef19 dans le forum C++/CLI
    Réponses: 1
    Dernier message: 01/08/2007, 11h27
  3. Réponses: 2
    Dernier message: 31/08/2006, 09h56
  4. Mettre à jour la liste des packages
    Par roi_soleil dans le forum Mandriva / Mageia
    Réponses: 13
    Dernier message: 11/08/2006, 08h51
  5. Récupérer la liste des items d'un champs
    Par korntex5 dans le forum Bases de données
    Réponses: 6
    Dernier message: 11/01/2006, 15h50

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