DataGridView - 加载大量数据非常慢

时间:2014-09-11 17:23:39

标签: c# winforms datagridview bindingsource

我有一个带有Datagridview的表单,它将数据从db加载到绑定源,然后将绑定源设置为datagrid的DataSource
我先调用SuspendBinding()并将RaiseListChangedEvents设置为false,然后从数据库填充数据,并在数据填充调用ResumeBinding()ResetBindings(false)并将RaiseListChangedEvents设置为true

newPriceListSelectBindingSource.RaiseListChangedEvents = false;
newPriceListSelectBindingSource.SuspendBinding();
newPriceListSelectTableAdapter.Fill(dsOrders.NewPriceListSelect, null, int.Parse(trvCategory.SelectedNode.Name), Convert.ToInt32(numericUpDown1.Value));
newPriceListSelectBindingSource.RaiseListChangedEvents = true;
newPriceListSelectBindingSource.ResumeBinding();
newPriceListSelectBindingSource.ResetBindings(false);

在许多Windows操作系统中填写数据完成后,resetbindings(false)立即调用,但在windows server 2008 r2中这种方法调用非常慢(似乎程序挂起)。
当然,我不确定这取决于窗户 数据行在20列中约为80000行 请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我发现了问题 问题出在名为DataGridViewColumn.AutoSizeMode的网格列属性上,因为其中一列的此属性值为 AllCells ,我将其更改为 DisplayedCells 并修复了问题。