寻找更快的DataGridView(或等效的)

时间:2009-02-04 18:24:22

标签: c# .net controls

我有一个大表,加载DataGridView非常慢。桌子会越来越大。

有没有办法优化加载? 是否有良好的替代控制? (如果需要,我们会购买一个。) 有没有我想过的选择?

5 个答案:

答案 0 :(得分:5)

  

我有没有想过要问的选项?

是的!分页+搜索过滤。如果你的datagridview中有这么多记录,那么你的用户发现它很麻烦,无论如何都会觉得很麻烦。添加搜索功能以限制他们正在查看的项目数,并且只显示一个页面。

答案 1 :(得分:2)

我会说,我尝试了一些GridView控件,并使用DevExpress进行了解决。它真的很快。

如果您想加快自己的速度,可能需要尝试在数据更新期间暂停布局。

答案 2 :(得分:1)

我发现使用中继器可以很好地工作。

我没有在DataGrid和Repeater之间进行任何性能测试。它没有DataGridView的一些附加功能,这将减少一些开销。由于缺少某些功能,我认为它会更快。另外,您可以更好地控制最终的HTML。

我也同意Joel的说法,Paging和Search Filter是提高速度的好方法。

答案 3 :(得分:0)

您是否考虑过caching您的数据?

  

精心设计的缓存策略可能是与性能相关的最重要的设计考虑因素。 ASP.NET缓存功能包括输出缓存,部分页面缓存和缓存API。

单击链接以获取特定信息。

答案 4 :(得分:0)

分页只是答案的一半。

例如,如果你有一个生产成本很高的记录集,但是你一次只渲染一个页面,它可能仍然太慢。另一方面,如果你有一个廉价的记录集,那么检索所有记录并扔掉除了一页之外的所有记录并不是什么大问题。

许多人以这样的方式编写查询:一次只有一个页面从SQL返回到.net,并且只呈现一个页面(就像Joe提到的Repeater)。这通常是最麻烦和最快的溶液