c# – 使用ComboBox的SelectedItem属性w / Linq匿名类型
发布时间:2020-12-15 17:15:38 所属栏目:百科 来源:网络整理
导读:在C#3.5中使用ComboBox显示LinQ查询的结果.当LinQ查询返回匿名类型时,如何设置组合框的selecteditem属性? 我按照以下几行设置了组合框的数据源: comboBox1.DataSource = from p in db.products select p;comboBox1.DisplayMember = "Name";comboBox1.Value
在C#3.5中使用ComboBox显示LinQ查询的结果.当LinQ查询返回匿名类型时,如何设置组合框的selecteditem属性?
我按照以下几行设置了组合框的数据源: 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 }; 我实际使用的匿名类型比那更复杂,但它足以解释. 解决方法
如何将其转换为列表,然后从中选择正确的列表.由于SelectedItem似乎不起作用,您可能想尝试设置SelectedValue.
var productList = (from p in db.products select new { ProductId = p.ProductID,Name = p.Name }).ToList(); comboBox1.DataSource = productList; comboBox1.DisplayMember = "Name"; comboBox1.ValueMember = "ProductId"; comboBox1.SelectedValue = 5; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |