如何以流方式异步填充DataGrid中的数据

本文关键字:DataGrid 数据 填充 异步 流方式 | 更新日期: 2023-09-27 17:53:51

在一个Windows c#应用程序表单中,我从SQL Server数据库中加载了50多万条记录进行分析。

SELECT TOP 500000 * FROM MobileTrans

当我在SQL Server管理工作室数据中运行上述查询时,立即显示并需要15秒加载完成。但是当我在我的Windows应用程序中运行这个查询时,在数据网格中没有显示任何内容需要15秒,之后数据突然显示在数据网格中。

我如何检索查询结果异步相同的SQL Server管理工作室在我的windows数据网格形式?

请发送代码的小样本。

如何以流方式异步填充DataGrid中的数据

您不需要向任何人显示 1,000,000条记录。没有人认为它们都是当代的。因此,首先加载合理数量的数据可以看到和操作在您的应用程序。

简而言之:如果这只是为了表示,请使用服务器端数据分页。

通过以这种方式显著减少数据量,可以完全避免异步处理。

如果你需要,顺便说一下,异步处理它,我会去填充数据从数据库检索到存储(Queue<T>, List<T> ....),这是一个来源的视觉元素,你可视化的数据。

考虑到这很容易跳转到相当复杂的场景,因为我并不完全清楚你的应用程序有多复杂。所以,也许第一个解决方案会被证明是最好的。

编辑

这里可能有一个有用的例子,说明如何实现(延迟加载)。

在Windows窗体DataGridView控件中实现实时数据加载的虚拟模式