天天看點

DataGridView中綁定List泛型的問題

1、資料綁定的問題:

  當DataGridView的DataSource綁定的為DataTable時,當DataTable的内容發生改變時,DataGridView中的内容會自動跟随DataTable改變而不用重新綁定資料源;

  而把List<T>綁定到DataGridView則不然,當List<T>的内容發生改變是,需要先設定DataGridView的DataSource屬性為new List<T>(),

  然後再把作過改動的List<T>重新賦于DataGridView的DataSource。

  (注:不能設定DataGridView的DataSource屬性為null,否則會破壞DataGridView中已經設定好的列結構。)

2、資料綁定後的添加删除問題:

  如果要對綁定在DataGridView中的List<T>進行資料的添加删除,先要把List<T>轉換成BindingList<T>,

  再進行綁定:DataGridView1.DataSource=new BindingList<MyClass>(new List<MyClass>())。否則的話會産生許多意想不到的錯誤。

  如:初始綁定空資料後再添加資料綁定後,卻取不到DataGridView.CurrentCell屬性。