1. 程式人生 > >DataGridView繫結list的注意事項

DataGridView繫結list的注意事項

1、DataGridView資料繫結對比(DataTable與泛型List):
       當DataGridView的DataSource是DataTable的時候,DataTable的資料改變時,DataGridView的資料會隨之改變,無需重新繫結到DataGridView。
       當DataGridView的DataSource是泛型List,當List的資料改變時,則需要先將DataGridView的DataSource設定為new List<T>(),再將改變後的List<T>賦給DataGridView的DataSource。

繫結List時,注意:切莫將DataGridView的DataSource設定為Null,否則會破壞DataGridView的列結構。

2、資料繫結後的新增刪除問題:
       如果要對繫結在DataGridView中的List<T>進行資料的新增刪除,先要把List<T>轉換成BindingList<T>,再進行繫結:DataGridView.DataSource=new BindingList<T>(new List<T>)。否則的話會產生許多意想不到的錯誤。
如:初始繫結空資料後再新增資料繫結後,卻取不到DataGridView.CurrentCell屬性。

3、使用泛型繫結依然可以新增刪除:
       IList<T> list= new List<T>();
       DataGridView.DataSource=list;//DataGridView的行不能新增刪除
       DataGridView.DataSource=new BindingList<T>(list);//DataGridView的行可以新增刪除(只有允許新增行、刪除行)

 轉載