2013-06-24 81 views
0

我一直試圖在組合框中顯示的值和鍵一本字典,但到目前爲止,它的工作只有在字典是我的顯示帶有自定義數據類

Data = Dictionary<string, Option<double>> 

詞典的選擇就是允許空值(如果在檢索時不可用,則爲可選)。

目前正在使用這個,只顯示該值

var list = (from entry in Data select entry.Value).ToList(); 
    DistanceSelectionForm.DistanceList = list.SelectMany(r =>  
    r).ToArray().ToSeq(); 
    public ISeq<double> radarDistanceList { 
    set { 
    DistanceComboBox.DataSource = new BindingSource(value,null); 
    } 
    } 
的多數民衆贊成什麼,我試圖用

,但沒有工作

ComboBox.DataSource = new BindingSource(value,null); 
ComboBox.DisplayMember = "Key" 
ComboBox.ValueMember = "Value";  

感謝

回答

0

嘗試使用列表的對象而不是字典。每個對象都會有一個鍵和一個值,您將用於DisplayMember和ValueMember。 這裏是一個只有組合框的形式的完整的例子:

public class myClass 
{ 
    private string key; 
    private string val; 

    public string Key 
    { 
    get 
    { 
     return key; 
    } 
    set 
    { 
     key = value; 
    } 
    } 

    public string Value 
    { 
    get 
    { 
     return val; 
    } 
    set 
    { 
     val = value; 
    } 
    } 

    public myClass(string newKey, string newVal) 
    { 
    key = newKey; 
    val = newVal; 
    } 
} 

    public partial class Form1 : Form 
{ 
    List<myClass> list = new List<myClass>(); 

    public Form1() 
    { 
    InitializeComponent(); 
    list.Add(new myClass("a","aa")); 
    list.Add(new myClass("b", "bb")); 
    list.Add(new myClass("v", "vv")); 
    comboBox1.DataSource = list; 
    comboBox1.DisplayMember = "Key"; 
    comboBox1.ValueMember = "Value"; 
    } 
} 
+0

你的意思名單<組<字符串,選項 >>? – justanidiot

+0

不會是當前的問題嗎?有什麼不同 ? – justanidiot

+0

我添加的代碼應該是正確的組合框 –

相關問題