J'ai remarqu=E9 un comportement =E9trange concernant l'utilisation des
controles ListBox dans les application Winform. Si je souhaite peupler
ma liste en utilisant la syntaxe suivante :
Et bien si j'utilise la syntaxe ci-dessus, je suis incapable de
d=E9selectionner le premier =E9l=E9ment de ma liste.
MaListe.SelectedIndex =3D -1 n'a aucun effet.
Par contre, si je boucle sur ma source de donn=E9es afin de faire des
Maliste.Items.Add(...) et de la peupler "=E0 la main", dans ce cas
j'arrive =E0 d=E9selectionner le premier =E9l=E9ment.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre
en cas de liaison (Binding) à une source de donnée la propriété ValueMember fait appel à SelectedValue (gestion de l'évenement SelectedValueChanged) et en aucun cas à SelectedIndex. par contre, la méthode de remplissage manuelle ..Add(obj) se refère à SelectedIndex.
c'est vrai qu'avec un DataSource, on n'a pas la possibilité(sauf si quelqu'un sait comment faire) de vider la propriété text du Controle. Moi à chaque fois, j'utilise dans ma source de donnée un Item nommé "Aucun" qui est l'élément selectionné par defaut lorsqu'on n'a rien selectionné. en supposant que le valueMenber de aucun soit "AUC" il suffit de faire Malist.SelectedValue = "AUC" au chargement.
@+
"fragmonster" a écrit dans le message de news:
J'ai remarqué un comportement étrange concernant l'utilisation des controles ListBox dans les application Winform. Si je souhaite peupler ma liste en utilisant la syntaxe suivante :
Et bien si j'utilise la syntaxe ci-dessus, je suis incapable de déselectionner le premier élément de ma liste. MaListe.SelectedIndex = -1 n'a aucun effet.
Par contre, si je boucle sur ma source de données afin de faire des Maliste.Items.Add(...) et de la peupler "à la main", dans ce cas j'arrive à déselectionner le premier élément.
Quelle est l'explication à ce comportement?
en cas de liaison (Binding) à une source de donnée la propriété ValueMember
fait appel à SelectedValue (gestion de l'évenement SelectedValueChanged) et
en aucun cas à SelectedIndex.
par contre, la méthode de remplissage manuelle ..Add(obj) se refère à
SelectedIndex.
c'est vrai qu'avec un DataSource, on n'a pas la possibilité(sauf si
quelqu'un sait comment faire) de vider la propriété text du Controle. Moi à
chaque fois, j'utilise dans ma source de donnée un Item nommé "Aucun" qui
est l'élément selectionné par defaut lorsqu'on n'a rien selectionné. en
supposant que le valueMenber de aucun soit "AUC" il suffit de faire
Malist.SelectedValue = "AUC" au chargement.
@+
"fragmonster" <fmeriot@gmail.com> a écrit dans le message de news:
1127377064.895912.74530@g43g2000cwa.googlegroups.com...
J'ai remarqué un comportement étrange concernant l'utilisation des
controles ListBox dans les application Winform. Si je souhaite peupler
ma liste en utilisant la syntaxe suivante :
Et bien si j'utilise la syntaxe ci-dessus, je suis incapable de
déselectionner le premier élément de ma liste.
MaListe.SelectedIndex = -1 n'a aucun effet.
Par contre, si je boucle sur ma source de données afin de faire des
Maliste.Items.Add(...) et de la peupler "à la main", dans ce cas
j'arrive à déselectionner le premier élément.
en cas de liaison (Binding) à une source de donnée la propriété ValueMember fait appel à SelectedValue (gestion de l'évenement SelectedValueChanged) et en aucun cas à SelectedIndex. par contre, la méthode de remplissage manuelle ..Add(obj) se refère à SelectedIndex.
c'est vrai qu'avec un DataSource, on n'a pas la possibilité(sauf si quelqu'un sait comment faire) de vider la propriété text du Controle. Moi à chaque fois, j'utilise dans ma source de donnée un Item nommé "Aucun" qui est l'élément selectionné par defaut lorsqu'on n'a rien selectionné. en supposant que le valueMenber de aucun soit "AUC" il suffit de faire Malist.SelectedValue = "AUC" au chargement.
@+
"fragmonster" a écrit dans le message de news:
J'ai remarqué un comportement étrange concernant l'utilisation des controles ListBox dans les application Winform. Si je souhaite peupler ma liste en utilisant la syntaxe suivante :
Et bien si j'utilise la syntaxe ci-dessus, je suis incapable de déselectionner le premier élément de ma liste. MaListe.SelectedIndex = -1 n'a aucun effet.
Par contre, si je boucle sur ma source de données afin de faire des Maliste.Items.Add(...) et de la peupler "à la main", dans ce cas j'arrive à déselectionner le premier élément.