DataGridView绑定泛型List的种种,特别是使用BindingList<>作为D c bindinglist

使用DataGridView控件显示数据:

dataGridView1.DataSource = 数据源;

当数据源为数据集中的表时,可以通过修改数据集从而自动更新DataGridView控件的显示,但当数据源为泛型集合时,要通过修改数据源来实现这一点,则可以将数据源声明为System .ComponentModel .BindingList <>支持数据绑定的泛型集合。单纯地使用System.Collections.Generic.List<>会出现错误。

1、DataGridView数据绑定对比(DataTable与泛型List):
当DataGridView的DataSource是DataTable的时候,DataTable的数据改变时,DataGridView的数据会随之改变,无需重新绑定到DataGridView。
当DataGridView的DataSource是泛型List,当List的数据改变时,则需要先将DataGridView的DataSource设置为newList(),再将改变后的List赋给DataGridView的DataSource。

绑定List时,注意:切莫将DataGridView的DataSource设置为Null,否则会破坏DataGridView的列结构。

2、数据绑定后的添加删除问题:
如果要对绑定在DataGridView中的List进行数据的添加删除,先要把List转换成BindingList,再进行绑定:DataGridView.DataSource=new BindingList(newList)。否则的话会产生许多意想不到的错误。
如:初始绑定空数据后再添加数据绑定后,却取不到DataGridView.CurrentCell属性。

3、使用泛型绑定依然可以添加删除:
DataGridView绑定泛型List的种种,特别是使用BindingList<>作为D c bindinglist
IList list= new List();
DataGridView.DataSource=list;//DataGridView的行不能添加删除
DataGridView.DataSource=newBindingList(list);//DataGridView的行可以添加删除(只有允许添加行、删除行)

注:

在DataGridView数据绑定时使用BindingSource中转可以起到很好的控制DataGridView数据展示的效果。

其根本思想就是将对DataGridView行列的操作转化为对BindingSource中数据集实体和属性的操作。

将需要在DataGridView展示的数据封装成一个类,类的每个属性对应着DataGridView的一列。

DataGridView增加行时只需要 给BindingSource加一个空对象,删除行时也只需要删掉BindingSource中的对象。

在Winform上凡是涉及到绑定,最好用实现了IBindingList接口的BindingList。因为IBindingList实现了窗口控件与列表对象间的双向同步。

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/270796.html

更多阅读

双一章诵读法解悉熊春锦传统文化的学习,关键是灵感的思维,心和身要融汇在其中。我们所习惯采用的是西方式的学习逻辑方法和可得出结论的实验证伪的方法。在思维领域,几十年来所建立的完全是西方科学的方法和模式。

双一章诵读法解悉熊春锦传统文化的学习,关键是灵感的思维,心和身要融汇在其中。我们所习惯采用的是西方式的学习逻辑方法和可得出结论的实验证伪的方法。在思维领域,几十年来所建立的完全是西方科学的方法和模式。现在我们要继承祖先们

内心强大的人,才是真正有思想的人 什么是真正的内心强大

我的朋友,华南师大教授,才华横溢、青年才俊的刘良华博士曾有一句名言:一个有着强大偏见的人,才是真正有思想的人。这句话,在他的学生中有着广泛的影响力。如果,把“强大偏见”看成是有自己独特深刻见解,且有很执着的追求与坚守的精神的意思

章子怡:我们需要你的道歉,不是纪灵灵!!_fxyz_85

章子怡:我们需要你的道歉,不是纪灵灵;还有,不要转移视线避重就轻,戛纳的善款明细呢?从诈捐门捅出来到现在有一个星期了吧,结果是网友们眼睁睁的看着章子怡依旧风风光光身穿水貂皮大衣出席官方活动,最后由一个替死鬼出来扛罪。全国的媒体都

声明:《DataGridView绑定泛型List的种种,特别是使用BindingList<>作为D c bindinglist》为网友花心少爷分享!如侵犯到您的合法权益请联系我们删除