2012-06-04 71 views
2

當我嘗試將字典綁定到列表框時,我得到一個ArgumentException。無法綁定到新的值成員。將空字典綁定到列表框

我使用下面的代碼。 任何人都可以告訴我什麼是錯的。因爲當我進入我的字典排它的做工精細...

this.contactpersonenListBox = new Dictionary<int, string>(); 

lsContactpersonen.DataSource = new BindingSource(this.contactpersonenListBox, null); 
lsContactpersonen.DisplayMember = "Value"; 
lsContactpersonen.ValueMember = "Key"; 
+1

你爲什麼要綁定一個空的字典到列表框? – Thousand

+0

在我的情況下,字典是基於查詢結果動態填充的。有時查詢可能沒有任何結果。將數據源保留爲空字典。結果列表框將顯示一個名爲「(Collection)」的條目。「 –

回答

3

它不會使一噸的感覺綁定一個空的字典,因爲字典對象不報告任何改變,因此增加了項目在設置數據源後不會顯示在ListBox中。

但擺脫錯誤的,可以嘗試設置這樣的:

BindingSource b = new BindingSource(); 
b.DataSource = this.contactpersonenListBox; 
lsContactpersonen.DisplayMember = "Value"; 
lsContactpersonen.ValueMember = "Key"; 
lsContactpersonen.DataSource = b; 
+0

這是偉大的,但現在我的列表框設置與文本項目(集合)有沒有辦法擺脫 –

+0

@WillemT我沒有看到你所看到的。我的列表框是空的。 – LarsTech

+1

當我綁定字典時,其空我有一個項目名稱(集合)在我的列表框。只要我填寫字典的項目消失 –