В C# 3.5 с помощью ComboBox для отображения результатов запроса LinQ. Как установить свойство selecteditem в поле со списком, когда запрос LinQ возвращает анонимный тип?Использование свойства SelectedItem ComboBox w/Linq Anonymous Тип
Я установил источник данных из выпадающего списка вдоль этих линий:
comboBox1.DataSource = from p in db.products
select p;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "ProductId";
Если я, что я могу выбрать выбранный элемент, делая что-то вроде:
comboBox1.SelectedItem = (from p in db.products
where p.ProductId = 5
select p).First();
Проблема в том, что я хочу для заполнения выпадающего списка с анонимным результатом типа:
comboBox1.DataSource = from p in db.products
select new
{
p.ProductId,
p.Name
};
Анонимный тип I ' Фактически, использование более сложное, чем это, но этого достаточно для объяснения.
Я просто попробовал, он, похоже, не меняет выбранный элемент. Он также работает, только если выполняется правильно, когда он загружен. Выбранный элемент может быть установлен в другой функции. Благодарю. –
Попробовал ли вы установить SelectedValue на правильный ProductId. Я обновлю код. – tvanfosson
Кроме того, у меня была ошибка в логике выбора. Я исправил это - должен был быть метод Where вместо метода Select. Изменение этого может привести к тому, что предыдущий пример будет работать. – tvanfosson