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的行可以添加刪除(只有允許添加行、刪除行)
轉載