Comment vérifier l'indice de zone de liste déroulante basée sur la chaîne?
J'ai un ComboBox avec 3 chaîne codée en dur valeurs:
A
B
C
Si j'essaie de modifier la valeur actuellement sélectionnée basé sur SelectedValue
, SelectedItem
, ou SelectedText
, ni de changer l'index pour le bon élément.
Actuellement, je suis en train de faire quelque chose comme:
switch (str)
{
case 'A':
comboBox.SelectedIndex = 0;
break;
case 'B':
comboBox.SelectedIndex = 1;
break;
case 'C':
comboBox.SelectedIndex = 2;
break;
}
Mais comme vous pouvez le voir, c'est un plutôt faible de la solution et se cassent si les articles sont commandés à nouveau, modifié ou ajouté.
Les meilleures façons?
OriginalL'auteur Ryan Peschel | 2012-11-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire ceci:
mais cela fonctionne aussi sur mon ordinateur:
Il doit y avoir un problème avec votre chaînes qui sont codés en dur dans la zone de liste déroulante. Vérifiez si il ya des caractères inhabituels ou blanc (vide) caractères.
OriginalL'auteur Nikola Davidovic
OriginalL'auteur L.B
Je ne suis pas sûr pourquoi, mais cela n'a pas fonctionne parfois bien:
J'ai donc dû faire ceci à la place:
Qui fonctionne parfaitement bien, surtout si je suis lie à une liste de classe d'entités, et pas seulement des chaînes de caractères.
OriginalL'auteur Willy David Jr