首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大数据DevExpress ASPxGridView

大数据DevExpress ASPxGridView
EN

Stack Overflow用户
提问于 2014-06-13 02:01:01
回答 1查看 1.7K关注 0票数 0

我正在修复一个网站,该网站广泛使用DevExpress ASPxGridView控件对Server上的表进行搜索。然后对结果进行分页和分析。有些搜索结果可能相当大,我怀疑在这种情况下,内置的带有原生ASPxGridView的SqlDataSource寻呼机速度慢得令人望而却步。在一个查询中,我观察到SQL Server和IIS服务器之间的网络流量在不到一分钟的时间内为1.5GB。使用ORDER (SELECT NULL)偏移量x行运行相同的查询,下一个y行只需一秒。利用控件上的这个SQL侧分页是另一回事。

看来,我的局限性和权衡如下:

  1. 内置在寻呼机中的DevExpress ASPxGridView不能显式设置项目数。
  2. 独立的DevExpress ASPxPager不支持客户端附带事件。
  3. 将SqlDataSource替换为LinqServerModeSource或XpoDataSource仍然需要解析Server的整个结果集才能获得完整的计数,并且可能会遇到相同的性能问题。

如果有下列可能的解决办法,我想提出建议:

  1. 有没有办法强迫内置在寻呼机中的DevExpress ASPxGridView使用外部计数?
  2. 是否有任何方法将DevExpress ASPxPager包装为Asp.Net UpdatePanel或DevExpress ASPxCallbackPanel,以支持客户端附带事件?
  3. 当LinqServerModeSource或XpoDataSource用其他方法提供的总计数分页时,ASPxGridView可以收集来自ASPxGridView的结果吗?
EN

回答 1

Stack Overflow用户

发布于 2018-07-08 09:08:28

作为这里提到的,可以通过设置ASPxGridViewObjectDataSource来使用server端分页。DevExpress链接到GitHub上的这个示例应用,这个链接有点坏,但很容易修复。

这是可行的,但正如他们所说:

..。当使用ObjectDataSource时,不可能对ASPxGridView.DataSourceForceStandardPaging数据源进行筛选。

目前,我试图通过不设置ASPxGridView来欺骗DataSourceForceStandardPaging,但是仍然用ObjectDataSource进行服务器端分页:也许可以将虚拟行插入ObjectDatasource's SelectMethod中的结果集中,这会使ASPxGridView“认为”已经从数据库中检索了所有行,这样寻呼机就可以计数正确的行总数。

但我还没说完呢..。最有可能的是,必须处理SubstituteFilterCustomColumnSort事件,以防止ASPxGridView过滤和排序虚拟记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24196607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档