2016-01-31 139 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

是的,我試過了,但它在屏幕上顯示爲空 –