将新项目添加到绑定列表框

时间:2016-05-11 11:57:06

标签: c# listbox bindingsource

我有一个列表框" listBox_users"绑定到绑定源,另一个列表框" listBox_map"这也是绑定的。我想将一个用户从listBox_users拖放到listBox_map。当我删除listBox_map的bindingsource时,我做得很好。 我的问题是listBox_map在定义数据源属性时不会添加新项目:

  

设置DataSource属性时无法修改项集合。

 private void listBox_map_DragDrop(object sender, DragEventArgs e)
    {

        if (e.Data.GetDataPresent(DataFormats.StringFormat))
        {
            string str = listBox_users.Text;

             listBox_map.Items.Add(str); // Error here!
        }

    }

如何向绑定列表框添加新项? 谢谢。

2 个答案:

答案 0 :(得分:0)

而不是使用

  listBox_map.Items.Add(str); // Error here!

做到:

yourBindingSourceReference.Add(str);

它会自动反映在您的listBox_map上。

MSDN - BindingSource.Add

答案 1 :(得分:0)

我自己解决了,所以我删除了数据源属性,并添加了列表框中的每一行:

var q = 
            from user in SundicappEntities.Instance.users
                join map in SundicappEntities.Instance.user_profile_map on user.id_user equals map.id_user 
                where map.id_profile==id_profile
                select new
                {

                             ListBoxItemDisplayText = user.name_user + " " + user.f_name_user     

                };
        foreach (var u in q)
        {
             listBox_map.Items.Add(u.ListBoxItemDisplayText); 
        }