BackgroundWorker的问题(winform异步提取数据,并精确显示进度条)
现在可以异步提取数据了,但是精度条不能运作.在网上找了很多方法,Backgroudworker的reportprogress,delegaete等
可能是不得要领吧
请高人指点 --------------------编程问答-------------------- 没有必要,在backgroundworker执行的时候,显示一个窗体动画提示“数据正在读取中”即可。 --------------------编程问答-------------------- http://www.mbsky.com/InfoView/Article_11597.html
楼主看看上面的连接
不过还是通过代理和多线程来实现会好一些 --------------------编程问答-------------------- 关于你的提取数据的容量一开始知道吗,也就是说一开始能否计算出来,如果不行,那应该做成持续滚动的进度条,关于这个我在这里有详细的代码,
http://blog.csdn.net/zhzuo/archive/2008/07/23/2699305.aspx
--------------------编程问答--------------------
补充一下 事先是可以知道具体有多少条数据的 --------------------编程问答--------------------
谢谢你的建议,但是我真的想做一个实时的啊 --------------------编程问答--------------------
这个我看过了,不能实现,原因可能是,我这里是读取数据库!
数据库的读取,比如reader或者fill 感觉都是一次性完成的啊
--------------------编程问答-------------------- 如果你是通过DbCommand.ExecuteReader 方法返回DataReader对象,可以进行进度显示(在循环取数据的时候进行进度条显示,当然你应该知道了数据条数更好),如果是通过DataAdapter.Fill方法,那就是一闪而过,会出现如你说的情况。
如果是Sql数据库你可以试一下SqlCommand..BeginExecuteReader 方法,这个是异步读取数据。
只要有个处理时间段,我文章里说的方式都可以满足进度条显示。 --------------------编程问答--------------------
谢谢 关于第一种方法能说具体一点么? 我感觉还是没得要领 呵呵 麻烦了 --------------------编程问答-------------------- 自己顶一下吧,还请赐教啊
补充:.NET技术 , C#