En C #, j'ai une variable, a
, de type string
.
Comment puis-je find item
par la valeur de a
dans combobox
(Je veux trouver un élément avec la valeur sans afficher le texte de la liste déroulante).
Vous pouvez le trouver en utilisant le code suivant.
int index = comboBox1.Items.IndexOf(a);
Pour obtenir l'article lui-même, écrivez:
comboBox1.Items[index];
Vous devriez voir une méthode sur le contrôle de zone de liste déroulante pour FindStringExact (), qui recherche le membre d'affichage et renvoie l'index de cet élément s'il est trouvé. Si non trouvé retournera -1.
//to select the item if found:
mycombobox.SelectedIndex = mycombobox.FindStringExact("Combo");
//to test if the item exists:
int i = mycombobox.FindStringExact("Combo");
if(i >= 0)
{
//exists
}
Salut les gars, le meilleur moyen de rechercher un texte ou une valeur est
int Selected;
int count = ComboBox1.Items.Count;
for (int i = 0; (i<= (count - 1)); i++)
{
ComboBox1.SelectedIndex = i;
if ((string)(ComboBox1.SelectedValue) == "SearchValue")
{
Selected = i;
}
}
ComboBox1.SelectedIndex = Selected;
Je sais que ma solution est très simple et amusante, mais avant de m'entraîner, je l'ai utilisée. Important: DropDownStyle de la liste déroulante doit être "DropDownList"!
D'abord dans la liste déroulante et ensuite:
bool foundit = false;
String mystr = "item_1";
mycombobox.Text = mystr;
if (mycombobox.SelectedText == mystr) // Or using mycombobox.Text
foundit = true;
else foundit = false;
Cela fonctionne pour moi correctement et a résolu mon problème ... Mais la solution de @ st-mnmn est meilleure et correcte.