在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.

解决方案 »

  1.   

    使用异步加载,但出现了DataGridView滚动条失效的现象这个东西。好象和你用不用线程没有关系。
    你的DataGridView又不是画的。
      

  2.   

    其实没啥别的代码了,剩下的代码就是获取DataTable 计算DataTable的合计行,添加DataGridView的数据源的绑定。另外DataGridView是有合并行方法重绘的。测试时,不使用线程来生产DataTable 绑定网格,是没有问题的,就是窗口会假死一会,然后正常。
      

  3.   

    不用线程,采用异步调用,参见:
    http://topic.csdn.net/u/20100527/17/26f3645c-4258-4113-8115-b0a0ca5af67f.html
      

  4.   

    如果是数据加载完成后,滚动条的长度不发生变化,不能往下拖动查看下面的数据,那么造成这种现象的原因是因为Form窗体在Load的时候会将datagridview enable属性设置为false,导致插值的时候出现上诉情况。所以改为在插值之前设定Enable属性为true,之后再改回到false,问题解决。