У меня есть приложение для окон с двумя полями Combo (стиль Dropdownlist). Первый выпадающий получает данные из списка AppTable объекта, например, так:Нужно изменить выбранный элемент в выпадающем списке, если выбранный элемент в другом раскрывающемся списке изменений
foreach (AppTable table in appTableList)
cbxSelectName.Items.Add(table.App);
Я создал триггер для того, когда выбранный элемент в этом выпадающем меню изменяется:
this.cbxSelectName.SelectedIndexChanged +=new EventHandler(cbxSelectName_SelectedIndexChanged);
И, наконец, , вот определение метода, вызываемого триггером. Обратите внимание, что значение в текстовом поле tbxNewWikiWord изменяется с изменением выбранного элемента. Однако, то же самое не происходит во втором списке (cbxUpdateAppType):
private void cbxSelectName_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (AppTable table in appTableList)
{
if (table.App == cbxSelectName.SelectedItem.ToString())
{
this.tbxNewWikiWord.Text = table.WikiWord;
this.cbxUpdateAppType.SelectedItem = table.Type;
break;
}
}
}
Вот как выглядит AppTable:
class AppTable
{
public string App { get; set; }
public string Type { get; set; }
public string WikiWord { get; set; }
}
я упускаю что-то?
Вы заполняете 'cbxUpdateAppType' содержимое, которое отображается в' table.Type'? Отправьте код, который заполняет 'cbxUpdateAppType'. – shahkalpesh
table.Type может содержать одно из трех значений: Сервис, Задача или Приложение. Однако я заполняю cbxUpdateAppType вручную этими тремя значениями, потому что, если я его заполню из table.Type в цикле, он получает одинаковые значения несколько раз. – xbonez