在 C# 3.5 中使用 ComboBox 来显示 LinQ 查询的结果。当 LinQ 查询返回匿名类型时,如何设置 ComboBox 的 SelectedItem 属性?
我按照以下几行设置 ComboBox 的 DataSource:
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();
问题是我想用匿名类型结果填充 ComboBox,例如:
comboBox1.DataSource = from p in db.products
select new
{
p.ProductId,
p.Name
};
我实际使用的匿名类型比那更复杂,但足以解释。