在我的应用程序中,我有一个可以有多个位置的客户。 当您在我的下拉列表框中选择一个客户时,它将在所有位置的流布局面板中加载组合框。无法设置Combobox SelectedItem,值为
这是我的代码如下:
IEnumerable<locatie> opstapPlaatsen = Database.getOpstapplaatsen(klant.klant_id);
foreach (locatie opstapplaats in opstapPlaatsen)
{
if (opstapPlaatsen.Count() <= 0)
{
}
else
{
ComboBox cbbOpstap = new ComboBox();
cbbOpstap.Width = 200;
cbbOpstap.Height = 20;
cbbOpstap.DataSource = Database.getLocaties();
cbbOpstap.ValueMember = "locatie_id";
cbbOpstap.SelectedValue = opstapplaats.locatie_id;
cbbOpstap.SelectedItem = opstapplaats;
cbbOpstap.DisplayMember = "FullAdress";
flpOpstapplaats.Controls.Add(cbbOpstap);
}
}
我的问题是,我不能设置的SelectedItem或/和价值。当我用断点看时,opstapplaats.locatie_id
(正确的)有一个值,但是SelectedValue
保持为null
。
我在循环之外做了类似的事情,并且没有在代码中创建组合框,并且它在那里工作。
我不知道是什么引起的?这是因为它在foreach中,因为我在foreach之前使用它,然后运行。
谢谢,托马斯。
编辑:这个问题还没有解决,我不知道如何解决它。
编辑:这个问题似乎解决了。看到接受的答案。
在设置'DataSource'之前分配'DisplayMember'和'ValueMember'有什么区别吗? – V4Vendetta 2012-03-19 09:09:11
刚刚尝试过,没有任何改变。虽然谢谢! :) – Schoof 2012-03-19 09:14:25
与问题无关,但'opstapPlaatsen.Count()<= 0'条件检查不是必需的,我认为,因为它不会在第一个循环中。 – V4Vendetta 2012-03-19 09:18:07