vb.net中绑定DataGridView的datasource时无响应

我用的VS2013,在设置DataSource属性时,程序就一直卡在这里了,不能运行到下一句。下面是我的代码:                
Dim TempDS As New DataSet                
TempDS.Tables.Add("tmpdata")                 
‘这里是一些添加数据到TemsDS的表格的一些代码,就没必要贴上来了                
Dim MyBinding As New BindingSource                
MyBinding.DataSource = TempDS.Tables("tmpdata")                
DataGridView1.DataSource = MyBinding
暂停后就是一个绿色的箭头标记在最后一行代码那里,如图
图片说明
TempDS.Tables("tmpdata")这是一个11列,4000多行的一个表。当这个表只有几百行时,绑定DataSource就正常的,当有4000多行的时候就这样了,DataSource属性应该没有大小限制吧。
我有监视查看这个表及MyBinding,里面都有数据。我也试过  DataGridView1.DataSource = TempDS.Tables("tmpdata") 也是一样的。

哪位大神帮忙解决一下这个问题啦,好郁闷。

2个回答

哈哈,终于知道是什么原因了。原来是我的DataGridView设置了一些格式,导致速度慢了。把格式清除后就好了。现在几千行的数据不到1秒就解决了。

当这个表只有几百行时,绑定DataSource就正常的,当有4000多行的时候就这样了

可以先尝试添加绑定一行数据,确认正常后。
再添加4000行相同的数据试试,如果成功,就可以认定代码没有问题。

从而定位之前的问题出现在添加的数据,仔细排查下吧。

fight_in_dl
战在春秋 [可以参考这篇博客](https://shahanayyub.wordpress.com/2014/03/30/how-to-load-large-dataset-in-datagridview/""),值得细细研读。
3 年多之前 回复
vtehjjsc111
vtehjjsc111 试过添加少数的数据,可以正常运行,就是时间花得有点多。添加100行左右的数据,大概1秒能完成,600行左右的数据就得20秒才能完成了,这时间增长得太多了,当我有几千上万行的数据时,就像我这种情况一样卡死在这里了。不知道你有没有其它比较好的解决方法?不用DataGridView也可以。我就是需要把一些数据显示在一个表格中,这个数据有多有少的。
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问