根据comboBox中的键显示字典成员

时间:2017-02-10 10:43:33

标签: c# .net dictionary combobox

我想在comboBox中显示几个不同的字典结构。

在JumpType.cs中:

public SortedDictionary<int, List<string>> jumpCombination = new SortedDictionary<int, List<string>>(); 

字典结构将如下所示:

Key    Values
1      Flygande
       EjFlygande
2      Bak
       Pik
       Test
3      ...

我在我的UI中创建了两个组合框,如下所示:

Select Key:      _____________
                |   ComboBox  |
                --------------      __________
                 _____________      |   OK   |
Select Value:   |   ComboBox  |     ----------
                --------------

在Form1.cs中

 InitializeComponent();
 JumpType jt = new JumpType();
 jt.addjumpCombination(); // populating the dictionary
 if (jt.jumpCombination != null)
 {
    comboBoxJumpComboKey.DataSource = new BindingSource(jt.jumpCombination, null); // Key => null
    comboBoxJumpComboKey.DisplayMember = "Value";
    comboBoxJumpComboKey.ValueMember = "Key";
    comboBoxJumpComboValue.DisplayMember = "Value";
 }

如何根据所选键选择相应的值?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用以下LINQ查询过滤列表:

var selectedValues = jumpCombination
                    .Where(j => j.Key == Convert.ToInt32(comboBoxJumpComboKey.SelectedItem.Value))
                    .Select(a => a.Value)
                    .ToList();

此外,selectedValues是List的集合,在您的情况下