Как установить выбранный элемент в поле со списком, чтобы соответствовать моей строке с помощью C #? - PullRequest
176 голосов
/ 16 января 2009

У меня есть строка "test1", и мой comboBox содержит test1, test2 и test3. Как мне установить выбранный пункт на «test1»? То есть как мне сопоставить мою строку с одним из элементов comboBox?

Я думал о строке ниже, но это не работает.

comboBox1.SelectedText = "test1"; 

Ответы [ 25 ]

4 голосов
/ 16 января 2009

Предположим, что test1, test2, test3 принадлежат коллекции comboBox1, и следующий оператор будет работать.

comboBox1.SelectedIndex = 0; 
3 голосов
/ 05 мая 2011

Я заполнил свой ComboBox een DataTable, заполненным из базы данных. Затем я установил DisplayMember и ValueMember. И я использую этот код для установки выбранного элемента.

foreach (DataRowView Row in ComboBox1.Items)
{
    if (Row["ColumnName"].ToString() == "Value") ComboBox1.SelectedItem = Row;
}
1 голос
/ 16 января 2009

У вас нет этого свойства в ComboBox. У вас есть SelectedItem или SelectedIndex. Если у вас есть объекты, которые вы использовали для заполнения поля со списком, вы можете использовать SelectedItem.

Если нет, вы можете получить коллекцию элементов (свойство Items) и повторять ее, пока не получите нужное значение и не использовать его с другими свойствами.

надеюсь, это поможет.

1 голос
/ 07 декабря 2015

Я использовал KeyValuePair для привязки данных ComboBox, и я хотел найти элемент по значению , так что в моем случае это сработало:

comboBox.SelectedItem = comboBox.Items.Cast<KeyValuePair<string,string>>().First(item=> item.Value == "value to match");
1 голос
/ 16 января 2009
_cmbTemplates.SelectedText = "test1"

или, может быть,

_cmbTemplates.SelectedItem= _cmbTemplates.Items.Equals("test1");
1 голос
/ 16 января 2009
  • Перечислить ListItems в выпадающем списке
  • Получить равные списки индексов Set Combobox
  • Установить listindex для найденного.

Но если я вижу такой код в качестве рецензента кода, я бы рекомендовал пересмотреть весь алгоритм метода.

0 голосов
/ 22 мая 2019

Найдите mySecondObject (типа MyObject) в комбинированном списке (содержащий список MyObjects) и выберите элемент:

foreach (MyObject item in comboBox.Items)
{
   if (item.NameOrID == mySecondObject.NameOrID)
    {
        comboBox.SelectedItem = item;
        break;
    }
}
0 голосов
/ 16 ноября 2017

у меня это работает .....

comboBox.DataSource.To<DataTable>().Select(" valueMember = '" + valueToBeSelected + "'")[0]["DislplayMember"];
0 голосов
/ 13 июня 2017

Можно сказать comboBox1.Text = comboBox1.Items[0].ToString();

0 голосов
/ 28 декабря 2016

Я создал функцию, которая будет возвращать индекс значения

        public static int SelectByValue(ComboBox comboBox, string value)
        {
            int i = 0;
            for (i = 0; i <= comboBox.Items.Count - 1; i++)
            {
                DataRowView cb;
                cb = (DataRowView)comboBox.Items[i];
                if (cb.Row.ItemArray[0].ToString() == value)// Change the 0 index if your want to Select by Text as 1 Index
                {
                    return i;
                }
            }
            return -1;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...