最近有同事迷上了使用BindingList开发应用,看上去用BindingList绑定datagridview很是省事,只要如下即可:
BindingList<T> x = new BindingList<T>();
.... datagridivew1.datasource = x;
datagridiew1.columns["name'].DataPropertyName = "Name";
... T = datagridview1.selectedrows[0].boundItem as T;
列表控件的信息就可以和对象集合的信息“同步”,但经过检查发现,这个同步是单向的,列表控件数据变更或增加,可以通过事件通知到对象集合,而对象集合内的数据变更或增减列表控件无法变更,(后来试验了一下,有时需要对datagridview进行刷新才会更新,但对象增减应该可以同步)而且我在检查其代码时发现了如下有趣现象:
1. 如果列表控件使用了cellvalidating事件,在出现e.cancel=true时, 系统会经常报错,估计是后面的对象清单取消操作时的问题
2 . BindingList本身不具备排序功能,如果重写applysort方法,需要处理一堆问题.
所以简单的操作用bindinglist很方便,如果是复杂操作,可能就有问题。
分享到:
相关推荐
扩展BindingList,防止增加、删除项时自动更新界面而不出现“跨线程操作界面控件”异常
将对象列表绑定到XtraGrid控件的DataSource属性上的实例!
BindingList的自定义实现,它为T类型的每个属性提供排序。
TimeLine > 提供了仿IOS的越界回弹效果和左右滑动功能,可自由设置最小滑动距离和是否开启滑动功能 示例:demo.apk Download ...截图 Feature ...SwipeDragLayout使用ViewDragHelper来进行滑动操作,代码少,易理解...
数据绑定-搜索和排序BindingList。
一个linq好例子,一个linq好例子一个linq好例子一个linq好例子一个linq好例子一个linq好例子
dategrideview 随时更新,可以在界面下插入一条数据就及时的显示出来.
通常我们在进行数据绑定的时候,常用的数据源有DataSet、DataTable、BindingList、还有强类型数据源。今天我们来通过实例了解一下BindingSource组建,分享给大家供大家参考借鉴之用。 BindingSource的两个用途: (1...
Dev GridView 绑定List、BindingList 、BindingSource
DevExpress的GridView动态绑定数据集,多线程动态修改UI自动刷新,输出中打印运行状态等
DataGridView控件 绑定列表集合List 设置DataSouce属性为BindingList对象 绑定字典集合Dictionary,V> 借助BindingSource对象设置DataSource
C#在Winform窗体程序中通过DataSet对象将数据绑定到DataGridView中来显示,DataGridView是用来显示数据库中内容较方便的一个数据显示控件,对C#初学者来说,了解其用法显得很重要,也很实用,通过本程序的代码演示,...
BindingList实现提供了过滤器机制,该实现还通过单击列的标题来提供核心排序。 当排序不起作用时,请检查列属性,SortMode必须为“自动”。 当列的数据类型为布尔值时,设计器默认将SortMode设置为“ NotSortable...
本文实例讲述了C#实现3步手动建DataGridView的方法。分享给大家供大家参考。具体如下: DataView dvCmControlInfo = new DataView... //绑DataTable,DataSet,DataView,BindingList dataGridView1.DataMember = "
带搜索的ComboBox就是给ComboBox一个依赖属性的ItemSource,然后通过数据源中是否包含要... bindingList = new ObservableCollection<object>();//数据源绑定List private string editText = "";//编辑文本内
本文实例讲述了c# ... lists = new BindingList(); lists.Add(new Person(2)); this.dataGridView1.DataSource = lists; } 希望本文所述对大家的C#程序设计有所帮助。 您可能感兴趣的文章:C#实现绑定Da