日期:2014-05-19  浏览次数:20696 次

『100分』一个DataGridView读取数据时我非常想要的效果,请大家帮忙。
大家在vs2005   winform上通过‘数据源’窗口建立数据库连接、配置查询语句等后,有一个[执行查询]按钮,当你点击它,你会发现数据量很大时,读取的过程中该窗口的DataGridView处于只读状态,而下面的指示器的数据行总数那一部分在不停增长,也就是动态显示读取进度。当读取完后DataGridView变成可写状态。

一般情况下我们通过DataAdpater把数据表Fill进DataSet,然后DataGridView绑定这个DataSet(或者通过一个BindingSource中间层),但我们看不到读取进度。

假设一个BindingNavigator绑定到BindingSource,而BindingSource又绑定到DataSet,   那么如何让BindingNavigator上的[1/总数],这个总数部分在读取数据时显示读取进度呢?就像上面提到的vs2005点击[执行查询]按钮时那样?


------解决方案--------------------
这个还真实现起来有点难度,不过还是顶一下。。

------解决方案--------------------

------解决方案--------------------
关注中
------解决方案--------------------

------解决方案--------------------
没用过BindingNavigator,帮顶。
是不是有BeginUpdate和EndUpdate可以解决更新锁定控件的问题?
------解决方案--------------------
2005不太熟悉,用2003就行了,自己写
------解决方案--------------------
在cellchange事件中捕捉
------解决方案--------------------
关注...顶
------解决方案--------------------
用一个线程控制
------解决方案--------------------
ajax+多线程
------解决方案--------------------
通过DataAdpater把数据表Fill进DataSet再一行一行的添加到DataGridView的数据源。这只能实现效果,对程序性能没什么好处。
------解决方案--------------------
用这个东西 backgroundWorker
------解决方案--------------------
只能写线程了,且要实现页面的动态刷新也是有一定难度的。
------解决方案--------------------
用AddRows事件来处理!