BindingList 看起来很美

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:08   1349   0

最近有同事迷上了使用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很方便,如果是复杂操作,可能就有问题。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP