原文地址:http://hi.baidu.com/netyro/item/7340640e36738a813c42e239

  今天做项目时遇到一个挠头的问题,当DataGridView的数据源为泛型集合时,集合内容改变后,DataGridView的显示内容却不能同步更新,在网上找了N久,也没有找到解决办法,误打误撞下发现一中支持数据绑定的泛型集合BindingList<>,该集合完美的解决了普通泛型集合内容更新后,DataGridView内容却无法更新的弊端。

详细情况如下:

  界面中有两个DataGridView控件,需求是点击上面DataGridView中的某行记录时,就将该记录添加到下面的DataGridView中,刚开始两个DataGridView都分别使用一个泛型集合List<>作为数据源,当点击上方DataGridView中的某行记录时,就将该行对应的实体保存到下方DataGridView的数据源集合中,可是下方的DataGridView却永远只能显示一条记录,界面中间的对话框中有两个数字,第一个是“1”,指的是当前下方DataGridView只有一行记录,第二个是“2”,指的是下方DataGridView的数据源集合中的实体个数,也就是说集合中有两条记录可是下方DataGridView中只显示了第一次点击上方DataGridView时添加进去的记录

那么将下方DataGridView的数据源换成BindingList<>之后呢

添加成功!!!

网上有很多方法都很麻烦,如使用BindingSource等等,其实最简单的莫过于使用支持数据绑定的泛型集合BindingList<> ,将下方DataGridView的数据源改为BindingList<>后,就实现的数据的同步更新

【转载】DataGridView 使用集合作为数据源,并同步更新的更多相关文章

  1. DataX异构数据源离线同步工具json文件配置说明

    DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳定高效的数据同步功能 ...

  2. React中setState同步更新策略

    setState 同步更新 我们在上文中提及,为了提高性能React将setState设置为批次更新,即是异步操作函数,并不能以顺序控制流的方式设置某些事件,我们也不能依赖于this.state来计算 ...

  3. linux 下svn同步更新钩子

    svn服务器搭建:https://www.linuxidc.com/Linux/2017-05/144254.htm SVN版本库中的一个项目:/svn/repositories/test/ 网站目录 ...

  4. 利用Pycharm部署同步更新Django项目文件

    利用Pycharm部署同步更新Django项目文件 这里使用同步更新的前提是你已经在服务器上上传了你的Django项目文件. 在"工具(Tools)"菜单中找到"部署(D ...

  5. svn-多个项目版本库和自动同步更新post-commit

    由于项目测试需求,需要远程服务器上使用svn做版本控制. 需求: 1,项目test1,项目test2,各自独立版本库,各自独立用户权限,便于项目管理 2,同步提交,本地svn提交至版本库后,服务器上的 ...

  6. 141029 V7 异步通知测试,15分钟循环代码重构,同步更新payInfo测试,支付成功timer测试成功说明

    支付成功之后的1分钟定时任务:测试成功. 2014-10-29 17:16:06,892 DEBUG [http-bio-8086-exec-1] org.springframework.web.se ...

  7. SVN之文件同步更新

    在SVN的实际使用上,我有这样的一个需求,同一份保存在SVN库的文件,要求取出在不同的地方,并且仍然要保持同步.根据这样的需求,可以具体分为以下两种情况,下面以库文件A,副本文件A1和副本文件A2,来 ...

  8. VC自动与Internet时间服务器同步更新

    在VCKBASE.CSDN里挖了许久的坟,才找到一些有点用的资料,最后自己整理出这样的个函数,方面VC实现时间同步,多的不说,自己看源码,根据自己的需要可以适当修改源码: #include <W ...

  9. linux上配置subversion服务器端安装配置并使用svn,windows本地检出,设置同步更新服务器的钩子

    参考http://my.oschina.net/junn/blog/164041 http://songxj.blog.51cto.com/620981/396113 http://5iwww.blo ...

随机推荐

  1. 编写一个简单的Jquery插件

    1.实现内容 定义一个简单的jquery插件,alert传递进来的参数 2.插件js文件(jquery.showplugin.js) (function ($) { //定义插件中的方法 var me ...

  2. 完整HttpHelper类

    [代码] [C#]代码 using System; using System.Collections.Generic; using System.Text; using System.Net; usi ...

  3. 使用block来解决实现switch解决字符串

    NSString *lookup=@"Hearts"; typedef void  (^CaseBlock)(); NSDictionary *diction=@{@"D ...

  4. OC之property和自动释放池

    property实例 property参数 自动释放池 一.property实例 1.前边的例子我们看到,我们在一个类中如果用到另外一个类的实例作为自己的成员变量时,通常需要在setter方法中,先r ...

  5. 重构8-Replace Inheritance with Delegation(委托替换继承)

    继承的误用十分普遍.它只能用于逻辑环境,但却经常用于简化,这导致复杂的没有意义的继承层次.看下面的代码: public class Sanitation{ public String WashHand ...

  6. js 当前日期处理 获取

    var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1 ...

  7. PHP删除符合条件的整个目录

    <?php /** * @name delFile函数与delDir函数一起使用, 删除符合条件的整个目录 * @param string $path 指定操作路径 * @return null ...

  8. maven install与maven package 的区别

    mvn install 是将你打好的jar包安装到你的本地库中,一般没有设置过是在 用户目录下的 .m2\下面.mvn package 只是将你的代码打包到输出目录,一般的是 target下面.

  9. Nginx负载趟过的坑

    在项目中经常会碰到需要利用Nginx作负载,最近在利用Nginx作负载均衡器时碰到一个很奇葩的问题. 本来按照以前的实现将打好的A.war包直接放到tomcat根目录(webapps)下,然后按照如下 ...

  10. About TI CC3000 Wifi

    http://forums.adafruit.com/viewtopic.php?f=22&t=44384http://learn.adafruit.com/adafruit-cc3000-w ...