2013-07-08 120 views
0

嗨我有一個字典,我綁定到一個綁定源。我想在列表框中顯示這些鍵。所以我將bindingsource添加到列表框並將displaymember設置爲「Key」。這不起作用。它給我的字典,而不是關鍵字符串的toString ...使用c#字典綁定到列表框

代碼:

 bs_directions.DataSource = bs_measurements; 
     bs_directions.DataMember = "zielwertdict"; //(=Dictionary<string,list<object>>) 

     listBox3.DataSource = bs_directions; 
     listBox3.DisplayMember = "Key"; 

UPDATE: 的bs_measurements是被綁定到另一個列表框另一個列表。當我構建項目時,listBox3顯示字典的鍵。當我更改綁定到bs_measurement的列表框中的項目時,listbox3顯示dictionary.Tostring()的東西...非常奇怪...

UPDATE 2: bs_measurment列表中包含的對象有一個字典zielwerdict)和散列表:

public class bs_measurementOBject 
{ 
public string name; 
public SortedDictionary<string,list>object>> zielwertlist; 
public Hashtable block; 
} 
+0

您可能需要的數據源設置爲新的BindingSource,即; bs_directions.DataSource = new BindingSource(bs_measurements,null); –

+0

這不會改變任何東西 – benst

回答

0

在上面的例子bs_directions.DataMember必須是NULL

+0

關心給予更多的信息,爲什麼它必須爲空... – benst

+0

看看http://msdn.microsoft.com/en-us/library/system.windows.forms。 bindingsource.datamember%28v = vs.90%29.aspx「如果DataSource包含多個數據列表(或表),則應將DataMember屬性設置爲其中一個源的名稱。」但是你只能綁定一個,對嗎? – Winks

+0

bs_measurment列表中包含的對象具有字典(zielwerdict)和散列表。 – benst