仅当DataGrid位于当前活动选项卡上时,使用DataSource重新加载DataGrid的速度太慢

时间:2014-10-02 07:58:58

标签: c# .net winforms datagridview

我在其中一个标签中有TabControl和DataGrid以及DataSource。 当我“重新加载”我的DataSource(从DataBase中提取数据,清除DataSource并再次使用对象填充它)时,它太慢(半小时或更长时间,对于65000条记录)如果当前活动Tab是tab,那么DataGreed 。如果某个其他标签处于活动状态,则需要2分钟。

我只是对DataGrid进行“visible = false”测试,它正常运行,但它不是一个选项,我希望该客户端在重新加载时看到DataGreed。

在DataSource中添加每一行后,DataGrid看起来像“某事”(减速)。

AutoSizeColumnsMode已经是无

有什么技巧可以解决这个问题吗?任何建议表示赞赏。

2 个答案:

答案 0 :(得分:0)

  1. 您可以尝试使用后台工作程序来填充DataGridView。
  2. 我还注意到Telerik RadGridView在移动ScrollBar时动态加载其数据。
  3. Loading DataTable Slow When Bound to DataGridView.Datasource

答案 1 :(得分:0)

为了避免逐个渲染DataGrid中的每一行,我设置了:

myDataGrid.DataSource = null;

用数据填充我的dataSource之后,并在它返回原始绑定源之后。

myDataGrid.DataSource = originalBindingSource;

这里的问题可能只是我们将在重新加载期间清空DataGrid(因为DataSource = null)。 我们可以创建另一个帮助集合并将其设置为DataSource,直到originalDataSource填充。