winform DataGridView异步加载数据,滚动条失效。

zl194 2010-05-27 05:33:29
在winForm中,由于加载的数据时间较长,使用异步加载,但出现了DataGridView滚动条失效的现象,高手给看看怎样解决。

pictureBox1.Visible = true; //显示进度条
tabControl1.SelectedTab = tabPage2; 切换到表格显示页
ThreadStart tr_star = new ThreadStart(dobutton1); //将处理程序(费时间的)放到单独的进程中
Thread myThread = new Thread(tr_star);
myThread.Name = "jhcx";
myThread.Start();//开始进程,进程会填充DataGridView.
...全文
1138 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongqiang21cn 2012-03-07
  • 打赏
  • 举报
回复
遇到同样的问题,求解方案。
zhongqiang21cn 2012-03-07
  • 打赏
  • 举报
回复
test
盛唐华夏 2011-12-12
  • 打赏
  • 举报
回复
如果是数据加载完成后,滚动条的长度不发生变化,不能往下拖动查看下面的数据,那么造成这种现象的原因是因为Form窗体在Load的时候会将datagridview enable属性设置为false,导致插值的时候出现上诉情况。所以改为在插值之前设定Enable属性为true,之后再改回到false,问题解决。
cj88068100 2011-01-18
  • 打赏
  • 举报
回复
看看这个文章
fzh516 2010-10-28
  • 打赏
  • 举报
回复
看一下!!!
mayonglong 2010-05-27
  • 打赏
  • 举报
回复
帮顶~~~~
harderLi 2010-05-27
  • 打赏
  • 举报
回复
把标记设置成全局变量吧
碎甜菜 2010-05-27
  • 打赏
  • 举报
回复
不用线程,采用异步调用,参见:
http://topic.csdn.net/u/20100527/17/26f3645c-4258-4113-8115-b0a0ca5af67f.html
yaazz 2010-05-27
  • 打赏
  • 举报
回复
去掉进度条试试
liulangdeyuyu 2010-05-27
  • 打赏
  • 举报
回复
应该是正在填充gridview
zl194 2010-05-27
  • 打赏
  • 举报
回复
其实没啥别的代码了,剩下的代码就是获取DataTable 计算DataTable的合计行,添加DataGridView的数据源的绑定。另外DataGridView是有合并行方法重绘的。

测试时,不使用线程来生产DataTable 绑定网格,是没有问题的,就是窗口会假死一会,然后正常。
zl194 2010-05-27
  • 打赏
  • 举报
回复
如果不用线程,直接调用方法就不出现这个问题了。
足球中国 2010-05-27
  • 打赏
  • 举报
回复
代码有些少。如果多些可以帮你分析一下。
足球中国 2010-05-27
  • 打赏
  • 举报
回复
使用异步加载,但出现了DataGridView滚动条失效的现象

这个东西。好象和你用不用线程没有关系。
你的DataGridView又不是画的。

111,103

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧