【发布时间】:2009-04-28 15:12:52
【问题描述】:
我有一个程序可以将 10,000 行加载到数据网格中,并且数据网格的渲染/绘制速度可能很慢,并且有时不显示,您可以告诉它已加载数据但网格变为空白。我正在考虑用 DevExpress XtraGrid 替换数据网格,有人用过这个吗?我可以期待它更快地渲染/绘画吗?
谢谢
PS 这是一个赢取表格应用程序,实际上可能少于 10,000 行,但可以肯定地说很多。我怀疑我们可能需要使用分页?
【问题讨论】:
我有一个程序可以将 10,000 行加载到数据网格中,并且数据网格的渲染/绘制速度可能很慢,并且有时不显示,您可以告诉它已加载数据但网格变为空白。我正在考虑用 DevExpress XtraGrid 替换数据网格,有人用过这个吗?我可以期待它更快地渲染/绘画吗?
谢谢
PS 这是一个赢取表格应用程序,实际上可能少于 10,000 行,但可以肯定地说很多。我怀疑我们可能需要使用分页?
【问题讨论】:
我们使用标准的DataGridView,几十万行几十列,瞬间性能,完全没有问题。在虚拟模式下。使用虚拟模式。
【讨论】:
首先,确保您将Virtual Mode 与您的GridView 一起使用
来自Data Display Modes in the GridView Control:
虚拟模式的主要用途 ...是优化性能 与大量互动时 数据。
MSDN 有a tutorial to get you started...
【讨论】:
我的第一个自发想法是,哪个网格更快并不重要,因为用户界面中的网格中有 10000 行感觉本身就是一个错误。但话又说回来,我不知道应用程序做了什么,所以它在使用它的上下文中可能是有意义的......
【讨论】:
任何正在寻找标准数据网格的好替代品的人都应该尝试一下 SourceGrid,它是免费的,而且做得很好。
【讨论】:
我很确定您不会注意到切换后的显着改进。我认为问题在于您将大量数据推送到网格中(因此向下推送到浏览器)。
您能否对这些数据进行分页,或者是否所有 10000 行都必须在一个页面上?如果是后者,我会考虑使用中继器控件。如果分页是一种选择,我建议将分页推回数据源。
两者都应该为您带来不错的进步。
第 3 方网格可以使 ajax 更新和 db 端分页更容易,但每个网格都有很大的学习曲线,如果您想在普通的旧 .net 中进行正确的查询,那么制定正确的查询并不难。
【讨论】: