如何在ListBox中显示Dictionary

时间:2011-01-10 09:09:29

标签: c# asp.net .net-3.5

嘿,我在ListBox中显示我的字典时遇到了一些问题。

    public static Dictionary<String, List<String>> MyDict = new Dictionary<string,  
List<String>>();
    ...
    if(MyDict[value1] == null){
        List<String> Temp_List = new List<String>();
        Temp_List.Items.Add(sth);
        MyDict[value1] = Temp_List;
    }
    else if(MyDict[value1].Count < 4){
    ...
        List<String> Temp_List = new List<String>();
        Temp_List = MyDict[value1];
        Temp_List.Add(sth);
        MyDict[value1] = Temp_List;
    }

我想在Page_Load(记录后)中显示一个ListBox,它将从MyDict获取List以进行此登录。例如。 登录是:莎莉 列表包含:她,不,然后 在进行了记录后,我希望看到这样的结果:

she
no
then

我不能使用BindingSource ......任何想法?

2 个答案:

答案 0 :(得分:1)

字典绑定示例: -


Dictionary myDictionary = new Dictionary
myDictionary.Add(1, "test");
myDictionary.Add(2, "test2");

值= 1 要显示的文字=“测试” 等等

下拉绑定: -


list1.DataSource = myDictionary;
list1.DataValueField = "Key";
list1.DataTextField = "Value";

list1.DataBind();

希望这有帮助

答案 1 :(得分:1)

为什么不使用ListView?

private void PopulateListView(Dictionary<string, string> items, ListView lv)
{
    lv.Items.Clear();
    foreach (KeyValuePair<string, string> kvp in items)
    {
        ListViewItem lvi = new ListViewItem(kvp.Value);
        lvi.SubItems.Add(kvp.Key);
        lv.Items.Add(lvi);
    }
}