Vous avez déjà appris comment remplir une ListBox avec des données d'une base de données SQLite. Dans cette leçon, nous allons étendre nos connaissances en liant une TextBox à cette ListBox. Ce lien vous permet de modifier, de supprimer ou d'ajouter de nouvelles valeurs. De plus, nous montrerons comment surveiller la sélection dans la ListBox et afficher sa valeur dans la TextBox. Cela vous permettra de rendre votre application plus interactive et conviviale.

Principales conclusions

  • Vous liez une TextBox à une ListBox pour afficher la sélection de manière dynamique.
  • En utilisant une base de données SQLite, vous pouvez stocker et récupérer vos données de manière persistante.
  • Nous mettons en œuvre des mesures pour éviter les erreurs, afin d'éviter les exceptions indésirables.

Guide étape par étape

Tout d'abord, nous allons voir comment établir le lien entre notre TextBox et la ListBox:

1. Interroger la sélection dans la ListBox

Pour surveiller la sélection dans la ListBox, nous devons ajouter du code pour les événements correspondants. Tout d'abord, nous devons savoir quel élément est actuellement sélectionné dans la ListBox.

Liens dynamiques entre ListBox et TextBox en C#

Pour cela, nous copions le SQLiteCommand à partir de la méthode avec laquelle nous avons rempli la ListBox. Nous insérons ce code à l'endroit approprié et l'enrichissons d'une commande SQL qui récupère la sélection de notre base de données. La commande SQL pourrait ressembler à ceci: SELECT ID, MarqueVoiture FROM MarquesVoitures WHERE ID = @ID, où @ID est un espace réservé pour notre paramètre.

2. Ajouter un paramètre à la requête SQL

La prochaine étape consiste à définir le paramètre pour la requête SQL. Ici, nous utilisons la clé primaire (Primary Key) pour sélectionner la bonne marque de voiture.

La commande est ensuite optimisée en récupérant l'ID de la marque de voiture sélectionnée dans la ListBox. Cela se fait en appelant listBox.SelectedValue. Nous ajoutons maintenant ce paramètre à la requête.

Lien dynamique entre ListBox et TextBox en C#

3. Création et remplissage d'une DataTable

Maintenant que nous avons la commande SQL, nous devons créer une DataTable pour traiter les requêtes. Nous appelons cette DataTable myDataTable et ajoutons ensuite le SQLiteDataAdapter pour initialiser les résultats de notre requête SQL.

Liaison dynamique entre ListBox et TextBox en C#

Une fois la DataTable remplie, nous pouvons remplir la TextBox avec la valeur de la marque de voiture sélectionnée.

Liens dynamiques entre ListBox et TextBox en C#

4. Affichage de la marque de voiture sélectionnée dans la TextBox

Pour définir la valeur de la DataTable dans la TextBox, nous récupérons la première entrée de la DataTable. Nous utilisons myDataTable.Rows[0]["MarqueVoiture"].ToString() et définissons le résultat dans la TextBox.

5. Implémenter la gestion des erreurs

Pour s'assurer qu'aucune erreur ne se produit lors de l'exécution de l'application, nous devons introduire une gestion des erreurs. Cela se fait en vérifiant, avant d'effectuer la requête, si un élément est sélectionné dans la ListBox.

Ici, nous utilisons une condition simple: si myListBox.SelectedValue == null, nous interrompons la méthode. Cette mesure garantit que nous ne rencontrons pas de références nulles et que l'application reste stable.

Liens dynamiques entre ListBox et TextBox en C#

6. Effectuer des tests de fonctionnalité

Après avoir implémenté les étapes ci-dessus, il est important de tester l'application. Lancez le programme et vérifiez si, au démarrage, la première entrée de la ListBox s'affiche automatiquement dans la TextBox.

Liens dynamiques entre ListBox et TextBox en C#

Lorsque vous passez maintenant d'une marque de voiture à une autre, vous devriez voir que la TextBox se met à jour dynamiquement pour représenter la valeur correspondante.

Lien dynamique entre ListBox et TextBox en C#

Maintenant que vous comprenez les bases et le code pour lier la TextBox et la ListBox, vous pouvez optimiser davantage votre application. Dans l'étape suivante, nous apprendrons comment ajouter de nouvelles marques de voitures à la base de données via un bouton.

Résumé – Lier une ListBox et une TextBox en C#: liaison dynamique des données

Dans ce guide, vous avez appris à lier une TextBox à une ListBox et à réaliser leur dynamique interactivité. Ce concept vous ouvre de nouvelles voies pour créer des applications utilisateur à la fois informatives et conviviales.

Questions fréquemment posées

Que faire si la TextBox ne se met pas à jour?Vérifiez si la ListBox renvoie la bonne valeur et si le DataAdapter est correctement configuré.

Comment ajouter une nouvelle marque de voiture?Nous allons le traiter dans la prochaine vidéo, en ajoutant un bouton qui vous permettra d'ajouter des marques de voiture à la base de données.

Pourquoi convertissons-nous les sorties de la DataTable en chaîne de caractères?Pour s'assurer que la valeur dans la TextBox s'affiche correctement en tant que texte, nous devons la convertir en chaîne de caractères.