如何在SQLServer2005中模拟数据网格视图加载
本文关键字:数据网 网格 视图 加载 数据 模拟 SQLServer2005 | 更新日期: 2023-09-27 18:00:00
如果加载了大量记录,DataGridView会在逐点将记录加载到DataGridView时保持响应。如何使用常规DataGridView和来自数据库的一组数据来实现这一点(由于我们的数据访问层,我不能使用直接的数据绑定)。
正如其他人所说,您几乎肯定希望在数据访问层实现分页,以从数据库返回小数据集。
一旦你有了这些,你就可以考虑实现用户控制的分页(他们点击一个按钮来显示下一个或上一个页面——很像StackOverflow上的页面)或自动分页。
对于自动分页(如您在Excel中看到的),您需要在DataGridView中实现虚拟模式。这篇博客文章中有一个很好的例子。
您的数据访问层需要在完成查询之前生成结果。它应该实现IEnumerable或IDataReader。然后,当您绑定到它时,结果的第一页应该会很快出现。
编写一个只获取第一行的单元测试,以及一个获取所有行的第二个单元测试。如果两个单元测试花费相同的时间,那么你的DAL就有问题了。更改DAL,使其提前生成行。
难道不能简单地使用分页并只从数据库中查询每页所需的行数吗?检查此链接