如何以流方式异步填充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数据网格形式?
请发送代码的小样本。
您不需要向任何人显示 1,000,000条记录。没有人认为它们都是当代的。因此,首先加载合理数量的数据可以看到和操作在您的应用程序。
简而言之:如果这只是为了表示,请使用服务器端数据分页。
通过以这种方式显著减少数据量,可以完全避免异步处理。如果你需要,顺便说一下,异步处理它,我会去填充数据从数据库检索到存储(Queue<T>
, List<T>
....),这是一个来源的视觉元素,你可视化的数据。
考虑到这很容易跳转到相当复杂的场景,因为我并不完全清楚你的应用程序有多复杂。所以,也许第一个解决方案会被证明是最好的。
编辑
这里可能有一个有用的例子,说明如何实现(延迟加载)。
在Windows窗体DataGridView控件中实现实时数据加载的虚拟模式