Remplir un combo ou encore une liste déroulante reviens à charger ce dernier avec des valeurs (Numérique, AlphaNumérique,…) pour permettre ainsi facilité la sélection ou encore le choix de la valeur souhaiter
Découvrons dans cette astuce WinDev comment charger, le champs combo en récupérant des informations provenant depuis la base de données MySQL
Tout d’abord avant de pouvoir remplir notre champs combo, il est préférable d’avoir une base de données MySQL, et nous allons le créer notre base de nommée « Pays » et ensuite créer une tables villes => ID, Villes
CREATE DATABASE Pays;
USE Pays;
CREATE TABLE villes (
ID INT AUTO_INCREMENT PRIMARY KEY,
Ville VARCHAR(255)
);
Maintenant que notre base de données et la table sont créer nous allons maintenant remplir la table ville avec quelques informations
INSERT INTO villes (Ville) VALUES ('Abidjan '), ('Lubumbashi'), ('Kinshasa'), ('Cotonou'), ('Kisangani'), ('Bukavu');
La table ville contient maintenant les villes
Créons un projet au dans WinDev ou WinDev Mobile, choisissez un Gabarit et créer une nouvelles Fenêtre, placer ensuite le Champs COMBO renommé le avec le nom au choix
Il maintenant temps de connecter notre application à la base de données MYSQL
Je vous invite à suivre ce tutoriel, comment connecter une application WinDev ou WinDev Mobile à la base de données MYSQL
Connecter Application WinDev Mobile a MYSQL (CRUD Créer, Lire, Modifier, Supprimer)
https://youtu.be/9KPopETa2q8
Connecter application WinDev Mobile à MySQL Distant, Générer Apk, Installer et Tester
https://youtu.be/psAybHQdUP0
Maintenant que notre Application est connectée à la base de données MYSQL, il ne nous reste plus qu’à charger notre champs Combo. Pour ce faire et rendre notre code propre nous allons donc créer une procédure et écrire donc notre code pour récupérer les villes et le charger dans le champ COMBO
PROCÉDUREListe_Villes()
DB:SQLRequete = "SELECT VILLE FROM villes"
SI DB:mySQLExec(DB:SQLRequete, 4) ALORS
DB:mySQLPremier(4)
TANTQUE DB:mySQLEnDehors = Faux
ListeAjoute(NOM_FENETRE.NOM_CHAMP_COMBO, DB:mySQLLitColParNom(4, "VILLE"))
DB:mySQLSuivant(4)
FIN
RENVOYER Vrai
FIN
Un fois que notre procédure est créée est que les codes y sont écrits, la dernière étape est d’appeler notre procédure dans le code de la fenêtre
PROCÉDUREMaFenêtre()
Liste_Villes()
Exécuter programme en cliquant sur le bouton GO, et voyez-y le résultat attendu