如何将自定义对象列表绑定到组合框?这就是我目前所拥有的:
this.classCmbo.DataSource = _viewModel.Coarses;
this.classCmbo.DisplayMember = "Name";
this.classCmbo.ValueMember = "Id";
我是什么"姓名"要显示但我想要" Id"是与选择相关的值。你怎么在winforms中做到这一点?
这是Coarse obj:
public class Coarse
{
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
}
...谢谢
答案 0 :(得分:11)
你可以这样试试......
public class Country
{
public string Name { get; set; }
public IList<City> Cities { get; set; }
public Country(string _name)
{
Cities = new List<City>();
Name = _name;
}
}
List<Country> countries = new List<Country> { new Country("UK"),
new Country("Australia"),
new Country("France") };
bindingSource1.DataSource = countries;
comboBox1.DataSource = bindingSource1.DataSource;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Name";
我希望它会帮助你...
答案 1 :(得分:2)
确定您的_viewModel.Coarses
究竟是什么,但试试这个?
this.classCmbo.DataSource = _viewModel.Coarses;
this.classCmbo.DisplayMember = _viewModel.Coarses.Name;
this.classCmbo.ValueMember = _viewModel.Coarses.Id;
或只是
this.classCmbo.DataSource = _viewModel.Coarses;
this.classCmbo.DisplayMember = Coarses.Name;
this.classCmbo.ValueMember = Coarses.Id;
答案 2 :(得分:1)
您通常可以将ComboBoxItem.Tag用于此类事情。
http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.tag.aspx