使用LinqServerModeDataSource的DevExpress aspxgridview或快速过滤和排序的替代方法

时间:2011-04-27 10:22:23

标签: asp.net gridview devexpress

使用LinqServerModeDataSource的DevExpress aspxgridview或快速过滤和排序的替代方法

我们正在尝试生成一个只读的结果网格,其中速度是真实性。目前使用gridview控件,对点击和固定页眉/页脚上的选择行进行一些自定义。数据访问来自objectdatasource或来自我们业务层的代码绑定,数据库是SQL Server 2008。

计划是为gridview购买第三方控件,并一直在寻找DevExpress aspxgridview。我们希望能够为gridview数据添加属性,过滤并快速绑定网格并查看LinqServerModeDataSource,这可能意味着在解决方案中有另一种数据访问技术,但对于任何读取都会对此感到满意只查询我们可以在数据库中快速加入和排序的查询,但使用n层BLL / DAL / DTO进行任何插入/更新/删除。

有没有人对此计划有任何想法。 LinqServerModeDataSource和aspxgridview是否可以快速显示数据,并提供在我们绑定的表上过滤(连接/存在查询)的选项,或者有更好的方法来执行此操作。 (我假设我们需要在LinqServerModeDataSource OnSelecting中编辑linq查询)不想编写任何自定义ajax或html并让自定义控件执行此操作。

1 个答案:

答案 0 :(得分:1)

当ASPxGridView绑定到LinqServerModeDataSource时,所有与数据相关的操作都在DB服务器上执行。在这种情况下,dataSource向DB服务器发送许多请求,但所有这些请求都很轻,即它们应该快速执行并且不会导致大量数据传递到Web服务器。此外,我想提醒您,在服务器模式下工作的网格有一些限制,我们在帮助中对它们进行了描述:

Server-side Data Management

最后,我认为在服务器模式下工作的ASPxGridView非常快,你最终应该尝试一下。但是,只有在基础DataSource返回大量数据时才应使用服务器模式。否则,当在Web服务器上管理所有绑定模式时,最好使用“经典”绑定模式。

<强>更新

我将尝试解释在哪一点上需要服务器模式。默认情况下,所有网格控件(标准,我们的...)从数据库服务器获取Web服务器的所有数据,而不是管理它。例如,排序。如果数据大小很小并且DB和Web服务器之间的连接速度很快,则此操作可以相当快地完成,并且不需要服务器模式。从我的角度来看,5k记录不是大数据,因此ASPxGridView的代码应该有效和快速地使用它。但是,如果有很多记录应该在Web服务器上处理,例如,100k的图片是不同的。显然,将100k提取到Web服务器并通过网络传输它们可能会很慢。此外,数据库服务器已经过优化,可以更好地处理这些数据,并且应该管理这些数据,例如,对它们进行更快的排序。在这种情况下,将此工作传播到数据库服务器并获得性能更有利可图。

因此,必须用于决定是否使用服务器模式的主要标准如下: 从数据库服务器传递到Web服务器的记录数以及管理它所需的时间。

希望,这有帮助。