2016-01-31 142 views
2

我有一个备份对象列表(我创建的一个类)如何将列表框绑定到我的备份对象列表,如果我删除/修改/插入备份列表,然后ListBox也自动更新?从自定义对象列表填充列表框对象

我已经使用模型在C++(qt)中完成了此操作,但是,我是C#的新手,无法找到解决方案。

感谢

回答

3

而不是使用List<t>使用BindingList<t>

设置你的ListBox的DataSource属性到您的BindingList实例
设定ListBox的DisplayMember您要在列表中

看属性添加/删除的项目应更新您的列表框。

下面是与DGV

BindingList<Employee> employees = new BindingList<Employee>(); 
private void Form1_Load(object sender, EventArgs e) 
    { 
     for (int i = 0; i < 10; i++) 
     { 
      var emp = new Employee { FirstName = "fn" + i, LastName = "ln" + i, EmployeeId = i }; 
      employees.Add(emp); 
     } 
     dataGridView1.DataSource = employees; 
    } 
}class Employee 
{ 
    public int EmployeeId { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
} 

有了这个,我得到以下结果在我的DGV

enter image description here

+0

大一个例子!我也可以使用DataGridView的BindingList吗?我将如何绑定不同的列?谢谢 –

+0

你尝试过吗?只需在表单上放置一个DGV,并将其设置为同一集合的数据源,然后查看会发生什么。唯一的区别是,您不会像在单列列表框中那样指定显示成员。 –

+0

是的,我试过了,但它在屏幕上显示为空 –