我在本地有大量数据,但不想一次将所有数据加载到网格中。是否可以将某些内容加载到页面,然后在滚动到另一个页面后,加载本地数据的另一部分?
2 回答
我假设您在这里使用 ORM:
当然只是返回数据访问代码IQueryable<T>
欲了解更多信息,请阅读:
http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/ajax-binding
它解释了 Kendo 如何为您进行分页和排序。所以生成的 SQL 只会返回网格上显示的内容,而不是所有数据。
从剑道网站:
如何实现分页、排序、过滤和分组?
如果您的模型支持 IQueryable 接口或者是 DataTable,则网格将自动进行分页、排序、过滤、分组和聚合。对于服务器绑定方案,不需要额外的步骤 - 只需将 IQueryable 传递给 Grid 构造函数。检查服务器绑定帮助主题以获取更多信息。
对于 ajax 绑定场景,必须使用 ToDataSourceResult 扩展方法来执行数据处理。查看 ajax 绑定帮助主题以获取更多信息。如果您的模型没有实现 IQueryable 自定义绑定,则应该实现。这意味着开发人员负责对数据进行分页、排序、过滤和分组。更多信息可以在自定义绑定帮助主题中找到。
重要的:
如果底层 IQueryable 提供程序支持将表达式树转换为 SQL,则所有数据操作都将在数据库服务器级别执行。ASP.NET MVC 的 Kendo Grid 已使用以下框架进行了测试:
实体框架
LINQ转SQL
Telerik OpenAccess
休眠
是的,您必须serverPaging
在 DataSource 定义中启用。您可能也对 KendoUI Grid 感兴趣scrollable.virtual
。