从列表框项目获取值
问题描述:
我试图从c#(winforms)列表框中的所有项目中获取值。我有一个包含多个项目的组合框,这是从数据源填充,并且我在组合框中提交了一个选择,我希望将这些值存储在列表框中。从列表框项目获取值
IQueryable clientes = getcompanies();
combo1.DataSource = companies;
combo1.DisplayMember = "name";
combo1.ValueMember = "id";
private void combo1_SelectionChangeCommitted(object sender, EventArgs e)
{
listBox1.Items.Add(combo1.SelectedItem);
listBox1.DisplayMember = "name";
listBox1.ValueMember = "id";
}
public IQueryable getcompanies()
{
var company= from c in context.companies
select new
{
c.id,
name= c.fname+" "+ c.lname
};
return company;
}
我有这个代码,当我选择和项目,从它被添加到列表框,只有DisplayMember属性是可见的,只是因为我想组合没有问题。 问题是,我不知道如何从列表框中的所有项目获取所有valuemember属性。有任何想法吗?
答
如果你这样做。
var items = ((List<string>)listBox1.Items);
你生病需要尽管使用foreach循环,然后你就可以访问propertie id作为正常项目变更清单公司
的数据类型,那么你应该能够循环
感谢乔纳森,公司是一个IQueryable的数据类型和我得到一个转换错误(ObjectCollection”到‘System.Linq.IQueryable’) –
没有更多的代码,我不能帮助不大,basicly你有错误的类型,我说替换列表。尽管在deubg模式下的代码,看看listBox1.Items是什么,并将其转换为。 –
我在问题中增加了更多细节。 Listbox.items是ObjectCollection数据类型。 –