在我的應用程序中,我有一個可以有多個位置的客戶。 當您在我的下拉列表框中選擇一個客戶時,它將在所有位置的流佈局面板中加載組合框。無法設置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