Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGridView-加载大量数据非常慢_C#_Winforms_Datagridview_Bindingsource - Fatal编程技术网

C# DataGridView-加载大量数据非常慢

C# DataGridView-加载大量数据非常慢,c#,winforms,datagridview,bindingsource,C#,Winforms,Datagridview,Bindingsource,我有一个带有Datagridview的表单,它将数据从db加载到绑定源,然后将绑定源设置为datagrid的DataSource 我调用SuspendBinding()并将RaiseListChangedEvents设置为false,然后从数据库填充数据,然后在数据填充时调用ResumeBinding()和重置绑定(false)并将RaiseListChangedEvents设置为true newPriceListSelectBindingSource.RaiseListChangedEvent

我有一个带有Datagridview的表单,它将数据从db加载到绑定源,然后将绑定源设置为datagrid的
DataSource
我调用
SuspendBinding()
并将
RaiseListChangedEvents
设置为false,然后从数据库填充数据,然后在数据填充时调用
ResumeBinding()
重置绑定(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中,此方法调用非常慢(似乎程序挂起)。
当然,我不确定这是否取决于windows。
数据行在20列中大约有80000行。
请帮我解决这个问题

我发现了问题

问题是名为
DataGridViewColumn.AutoSizeMode
的网格列属性的值是AllCells,我将其更改为DisplayedCells,并解决了问题。

这是分页
DataGrid分页问题而不是binging问题吗。。?还可以查看返回数据的查询。。我还将考虑重构代码,根据日期过滤器仅加载一定数量的数据,然后如果用户需要查看更多数据,则将一些过滤添加到您的流程中。@DJKRAZE为什么
resetbinding
仅在某些窗口上运行缓慢?您是在问
什么还是告诉我为什么
查看此
SO
发布它将回答您的问题标记接受的答案我认为您可以真正简化您的问题,如果您能够重新思考流程并亲自进行重构。@DJKRAZE我想说的是为什么请查看我评论中的链接。此外,我建议在完成绑定之前不要在加载期间启用datagrid。。我们也看不到在加载DataGrid的过程中调用了哪些其他事件..终于在3年之后!:我两年没发现这个问题,但我忘了回答我的问题