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

C# Discussion :

Alimentation ComboBox MVC


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    BAC +3
    Inscrit en
    Octobre 2018
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : BAC +3

    Informations forums :
    Inscription : Octobre 2018
    Messages : 164
    Points : 92
    Points
    92
    Par défaut Alimentation ComboBox MVC
    Bonjour voici mon problème , je dois faire une architecture en MVC sur mon programme ( C# .net WinForm , VS2019) . Je gère la plupart du logiciel mais je n'arrive pas à alimenter ma combobox en mvc.

    Exemple pour une de mes listView j'ai fais ceci :

    Dans mon contrôleur :

    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
     
    class Alimentation
        {
            readonly Modèle.TravellokedConnexion connexion = new Modèle.TravellokedConnexion(); // Appel de la déclaration de connexion du modèle
            readonly Modèle.Modèle_Sql requery = new Modèle.Modèle_Sql(); // Appel le modèle SQL
            readonly Modèle.SQL_Join @Join = new Modèle.SQL_Join(); // Appel des jointues SQL necèssaire aux requètes
     
     
            public List<ListViewItem> List_Demande()
            {
     
                MySqlConnection connection = new MySqlConnection(connexion.ConnexionBDD());       // Connection avec la base de données PHP MYAdmin
                List<ListViewItem> listViewDemandeItems = new List<ListViewItem>();
     
                MySqlCommand cmdall = new MySqlCommand(requery.SelectAgent() + Join.JointurePK_FK(), connection);
     
                connection.Open();
                using (MySqlDataReader Lire = cmdall.ExecuteReader())
                {
                    while (Lire.Read())  // Boucle While qui regarde toutes les infos que l'on souhaite voir avec la méthode "lire"
                    {
                        string Code_Conges = Lire["Code_Conges"].ToString();
                        string Demande = Lire["Demande"].ToString();
                        string Identifiant = Lire["Identifiant"].ToString();
                        string Debut = Lire["Debut"].ToString();
                        string Fin = Lire["Fin"].ToString();
                        string Etat = Lire["Etat"].ToString();
                        string Garantification = Lire["Garantification"].ToString();
     
                        //root.Root_Listview_Demande.Items.Add(new ListViewItem(new[] { Code_Conges, Demande, Identifiant, Debut, Fin, Etat, Garantification }));// Ajout des nouvelles valeurs dans la list view
                        listViewDemandeItems.Add(new ListViewItem(new[] { Code_Conges, Demande, Identifiant, Debut, Fin, Etat, Garantification }));
                    }
                }
                connection.Close();
                return listViewDemandeItems;
            } // Alimentation des ListViews de demande de congés
       }
    Dans ma vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    readonly Controlleurs.Alimentation alimentation = new Controlleurs.Alimentation();
     
     
    foreach (ListViewItem item in alimentation.List_Demande())
                {
                    ListView_Holiday_Admin.Items.Add(item);
                }
                ListView_Holiday_Admin.Refresh();
    J'aimerais gerer la comobox d'une façons similaire ... si possible...

    Pour l'instant j'ai tout dans la vue de cette façon :
    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
     
    MySqlConnection connection = new MySqlConnection(connexion.ConnexionBDD());       /*********************************/
     
                connection.Open();                                                                                        /*********************************/
                ComboBox_Holiday_Admin.DropDownStyle = ComboBoxStyle.DropDownList;                                     
     
     
                MySqlCommand command = new MySqlCommand(requery.EtatDemande(), connection);                                               /*********************************/
                MySqlDataReader reader = command.ExecuteReader();                                                              /*********************************/
     
                while (reader.Read())
                {
                    ComboBox_Holiday_Admin.Items.Add(reader.GetString("Etat"));
                }
                connection.Close();*/                                                  /*********************************/
    Cependant, lorsqu'il y a " /*********************************/ " en commentaire, ce sont des lignes qui font appel aux modèles pour être valable ce qui n'est pas bon en MVC...

    Merci

  2. #2
    Membre régulier
    Homme Profil pro
    BAC +3
    Inscrit en
    Octobre 2018
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : BAC +3

    Informations forums :
    Inscription : Octobre 2018
    Messages : 164
    Points : 92
    Points
    92
    Par défaut
    J'ai avancé , je ne sais pas si cela est une bonne solution :

    Controller :

    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
     
    public List<ComboBox.ObjectCollection> ComboZin()
            {
                MySqlConnection connection = new MySqlConnection(connexion.ConnexionBDD());       // Connection avec la base de données PHP MYAdmin
                List<ComboBox.ObjectCollection> aim = new List<ComboBox.ObjectCollection>();
     
                MySqlCommand command = new MySqlCommand(requery.EtatDemande(), connection);
     
                connection.Open();
                using (MySqlDataReader Lire = command.ExecuteReader())
                {
                    while (Lire.Read())  // Boucle While qui regarde toutes les infos que l'on souhaite voir avec la méthode "lire"
                    {
                        aim.Add(new ComboBox.ObjectCollection(new ComboBox{ }));
                    }
                }
                connection.Close();
                return aim;
            }
    Et view :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach (ComboBox.ObjectCollection aim in alimentation.ComboZin())
                {
                    ComboBox_Holiday_Admin.Items.Add(aim);
                }
                ComboBox_Holiday_Admin.Refresh();

    Aucune erreur ne sa manifeste sur la syntaxe cependant , dans me combo s'affiche (Collection) au lieu des résultats de la requête.
    De plus il s'affiche 4 : (Collection) , et le résultat de la requête attendu contient bien 4 lignes ( Valide , Refusé , En attente et Tous )

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 18/12/2009, 13h46
  2. [XL-2003] Alimenter Combobox avec résultat recherche
    Par lafafmentvotre dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 15/11/2009, 16h52
  3. Alimenter Combobox (texte + valeur) via requete
    Par Lerchechem dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/06/2009, 20h43
  4. Alimenter combobox avec un noeud de fichier XML
    Par skunkies dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/03/2009, 11h16
  5. Alimenter combobox selon selection d'une autre combobox
    Par bacio dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/02/2009, 11h33

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