Как найти элемент по значению в поле со списком в С#?
В С# у меня есть переменная, a, типа string.
Как find item по значению a в combobox (я хочу найти элемент со значением, не отображающим текст со списком).
Ответ 1
Вы можете найти его, используя следующий код.
int index = comboBox1.Items.IndexOf(a);
Чтобы получить элемент, напишите:
comboBox1.Items[index];
Ответ 2
Вы должны увидеть метод в элементе управления со списком для FindStringExact(), который будет искать displaymember и возвращать индекс этого элемента, если он найден. Если не найдено, будет возвращено -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
}
Ответ 3
Я знаю, что мое решение очень простое и забавное, но прежде чем я тренируюсь, я использовал его. Важно: DropDownStyle из combobox должен быть "DropDownList"!
Сначала в поле со списком, а затем:
bool foundit = false;
String mystr = "item_1";
mycombobox.Text = mystr;
if (mycombobox.SelectedText == mystr) // Or using mycombobox.Text
foundit = true;
else foundit = false;
Он работает для меня правильно и разрешил мою проблему...
Но путь (решение) от @st-mnmn лучше и точнее.
Ответ 4
Привет, ребята, лучший способ, если поиск текста или значения
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;