我正在修复一个网站,该网站广泛使用DevExpress ASPxGridView控件对Server上的表进行搜索。然后对结果进行分页和分析。有些搜索结果可能相当大,我怀疑在这种情况下,内置的带有原生ASPxGridView的SqlDataSource寻呼机速度慢得令人望而却步。在一个查询中,我观察到SQL Server和IIS服务器之间的网络流量在不到一分钟的时间内为1.5GB。使用ORDER (SELECT NULL)偏移量x行运行相同的查询,下一个y行只需一秒。利用控件上的这个SQL侧分页是另一回事。
看来,我的局限性和权衡如下:
如果有下列可能的解决办法,我想提出建议:
发布于 2018-07-08 09:08:28
作为这里提到的,可以通过设置ASPxGridView和ObjectDataSource来使用server端分页。DevExpress链接到GitHub上的这个示例应用,这个链接有点坏,但很容易修复。
这是可行的,但正如他们所说:
..。当使用ObjectDataSource时,不可能对ASPxGridView.DataSourceForceStandardPaging数据源进行筛选。
目前,我试图通过不设置ASPxGridView来欺骗DataSourceForceStandardPaging,但是仍然用ObjectDataSource进行服务器端分页:也许可以将虚拟行插入ObjectDatasource's SelectMethod中的结果集中,这会使ASPxGridView“认为”已经从数据库中检索了所有行,这样寻呼机就可以计数正确的行总数。
但我还没说完呢..。最有可能的是,必须处理SubstituteFilter和CustomColumnSort事件,以防止ASPxGridView过滤和排序虚拟记录。
https://stackoverflow.com/questions/24196607
复制相似问题