Les dispositions suivantes s’appliquent pour ajouter des lignes pour les contrôles ComboBox dans WPF. Exemples présentés, reportez-vous ? contrôles nommés ? comboPerson ?.
Menu wpisu
Ajouter un enregistrement ? la ComboBox C# – WPF
Ajouter qu’une autre ligne dans la ComboBox’ie est implémentée en utilisant la fonction éléments () ; En tant qu’argument, vous devez entrer un nouveau () objet, qui peut ?tre tout simplement String’iem.
Et si la commande comboPerson.Items.Add (« String ») ; Cela va ajouter une nouvelle ligne avec une valeur de ? Mots ? d’avoir été nommé ? comboPerson ?. Un complément ? la liste afin que vous pouvez réaliser grâce ? la commande :
comboPerson.Items.Add("mot1") ; comboPerson.Items.Add("mot2") ; comboPerson.Items.Add("mot3") ;
Ajouter des enregistrements dans la boucle
Bien s?r, manuellement taper chaque élément serait chronophage et encombrant, donc vous devez utiliser pour cette tâche.
Avant de compléter les données, vous pouvez effacer les entrées existantes, cela est pertinent lorsque les données sont lues par exemple. de la base de données et peuvent avoir changé depuis la derni?re opération de chargement ? c’est une caractéristique (éléments).
Apr?s ComboBox’a les données nous aimerions sont apparus dans le programme en cours d’exécution. Si la liste a changé, vous devez actualiser la fonction Refresh (), sinon vous ne verrez pas les changements.
comboPerson.Items.Clear () ; Vide comboPerson Tandis que (readPersons ()) { comboPerson.Items.Add (readPersons. GetString (1)) ; } comboPerson.Items.Refresh () //Refresh la lumi?re dans la fen?tre
Dans la boucle ci-dessus lecteur utilisé les informations de la base de données, nommée ? readPersons ?, qui, ? chaque itération de la boucle, retourne une chaîne avec la colonne n ° 1 actuelle de la table. Présenté avec un morceau de code pour compléter le ComboBox’a toutes les valeurs dans les colonnes de la table sélectionnée.
Ajouter des enregistrements avec deux colonnes
Et que faire si, en plus de valeurs, nous avons également des index (ou clé primaire) sélectionné table ? Alors il devrait ?tre terminé cette information et afficher uniquement les éléments que vous devriez voir.
? cette fin, que vous pouvez utiliser une classe Dictionary, c’est une classe de collection qui vous permet d’ajouter des éléments ? la liste, ainsi que de leurs clés. C’est dans l’espace de noms System.Collections.Generic.
Dans la déclaration, vous devez spécifier le type de l’entrée, par exemple. Dictionnaire<int, string= » »>, qui signifie que le premier élément de chaque ligne sera de type int et la deuxi?me chaîne du type.</int,> Ces deux éléments sont stockés sous forme de deux colonnes nommées ? Key ? et ? Valeur ? et ainsi peuvent ?tre référencées.
La différence dans le code est que la boucle ne se remplit pas avec les nouveaux enregistrements de ComboBox’a, mais seulement une collection de dictionnaire et enfin nous attribuer ? la ItemsSource ComboBox’a. Function () clair dans ce cas provoquera une erreur, donc vous devez d’abord supprimer les valeurs de la propriété ItemsSource de przyrównanie ? null.
Le code suivant montre l’évolution de l’exemple précédent.
comboPerson. ItemsSource = null ; cela. éléments () comboPerson.; //Nie ? utiliser lorsqu'il est accroché ItemsSource, sauf s'il est null'em System.Collections. générique dictionnaire<int, string=""> comboSource = new system.Collections. dictionnaire générique<int, string="">();</int,> </int,> Tandis que (readPersons ()) { comboSource. (readPersons. GetInt32 (2), readPersons. GetString (1)) ; } comboPerson. ItemsSource = comboSource ; //Przypisanie collection de ComboBox'a comboPerson. DisplayMemberPath = ? Valeur ? //selection de colonnes ? afficher il. comboPerson. objets () ;
Une sélection de colonnes ? afficher dans la liste est effectuée ? l’aide de la commande comboPerson. DisplayMemberPath = ? Valeur ? ; Parce que ComboBox’a a été affecté ? la file d’attente sont seulement a deux colonnes de dictionnaire de noms précédemment présenté ici ? Key ? et ? Valeur ?.
Lire les valeurs sélectionnées dans ComboBox’ie
Quand les lumi?res ont été complétées par les données ne peut ?tre lue la valeur choisie par l’utilisateur. Exemples seront jetés en chaîne pour les afficher par exemple. dans MessageBox’ie.
Lire la ligne compl?te :
comboPerson.SelectedValue.ToString () ;
Affiche le nombre de supports représentant l’indice et la valeur de la chaîne.
Pour afficher la valeur de la colonne de clé ou de la valeur, vous devez effectuer un cast pour un KeyValuePair contenu dans l‘espace de noms System.Collections.Generic, qui vous permet d’accéder aux champs l’élément sélectionné ComboBox’a (SelectedItem) :
–Key
((Collections.. KeyValuePair générique<int, string="">) comboPerson. SelectedItem). Clé ();</int,>
-Valeur
((Collections.. KeyValuePair générique<int, string="">) comboPerson. SelectedItem). Valeur ();</int,>