项目中遇到实时监控数据库中数据变化,该数据库中的数据只有更新没有新增。当数据库中的数据更新之后就立刻反应到form中的datagridview,但是遇到了问题。开始使用timer控件,数据源使用bindingsource,但是界面很卡。后来使用多线程,但是绘制界面还是使用UI线程,所以界面仍然不流畅。请问大家有什么好的实现方式吗?另:前段时间有网友回答【用virtual mode+数据绑定,数据源上实现IBindingList,数据源的行上实现INotifyPropertyChanged 】,由于小生是菜鸟所以没看懂。请各位给点意见,最好提供代码。不胜感急

解决方案 »

  1.   

    上次说了datagridview不是卡的原因,要看你的代 码.
    你在代 码开始 中间1 中间2 中间3 结束等代 码前输出当前时间值(秒 毫秒),这样来捕 捉卡的代 码 点和卡的大致原因在哪里.
    你的问题关 键点没能找出来(说出来),估计只有神 仙才能根据这些给你代码.要不你把你的问题简单写个例子,给网友下载,可能可以帮找到问题解 决.
      

  2.   

    数据量很大?每次取得全部数据并绑定到Grid上?
      

  3.   

    100条,数据量很少呢。建议使用ListView的Detail模式显示。你可以网上查询一下 ListView virtual mode。在每次填充数据之前使用SuspandLayout,然后ResumeLayout
      

  4.   


    我也是用datagridview的虚拟模式了啊,但效果还是比较卡。不知道listview的虚拟模式和datagridview有啥区别?