开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 4583|回复: 0

Kendo UI for jQuery数据管理教程:Grid性能的最佳实现

[复制链接]

0

精华

8

贡献

1768

赞扬

特约版主

帖子
583
软币
4524
在线时间
275 小时
注册时间
2019-2-21
发表于 2020-9-23 10:01:27 | 显示全部楼层 |阅读模式
Kendo UI目前最新提供Kendo UI for jQueryKendo UI for AngularKendo UI Support for ReactKendo UI Support for Vue四个控件。Kendo UI for jQuery是创建现代Web应用程序的最完整UI库。
最佳实现
本文列出了优化和提高Grid性能的最佳实现和方法。
  • 启用分页
  • 启用虚拟化
  • 减少数据量
  • 使用快速浏览器
启用分页
从理论上讲,如果启用了分页,则将解决所有性能问题。 将每页的记录数限制为合理的数量,使您可以实现所有网格功能,而不会影响其性能。 例如,即使每页显示20条记录、每页显示50条记录,结果会导致1,000个单元格被浏览器快速处理。对于更复杂的情况,例如您需要直接在列模板中而不是在编辑器模板中呈现编辑器,则可以进一步减小pageSize -如果在每个单元格中初始化一个小部件,最终将有1,000个小部件,将是一个重大打击。
启用分页功能后,必须决定是在客户端还是在服务器上处理数据操作。此方法适用于所有数据操作,例如过滤、分组和排序。
在以下情况下使用客户端操作:
  • Grid将显示有限数量的记录,如果记录数量增加,则有可能超过maxJsonLength,您可能需要增加该限制。
  • 数据将基于用户,并且不会期望其他用户更新相同的记录。
  • 您希望避免对每个数据操作使用单独的AJAX请求。
  • 您需要访问客户端上的所有dataItem来进行自定义数据操作,要检索整个数据集,请使用dataSource的data方法。
在以下情况下使用服务器端操作:
  • 您拥有大量记录(多达数百万条)。
  • 数据可以由其他用户更改,并且在每次数据操作之后都需要更新数据。
  • 您需要使用LINQ在服务器端执行复杂的表达式,或者当处理从数据库中检索数据的查询比客户端dataSource逻辑要快得多时。
启用虚拟化
虚拟滚动是分页的一种替代方法,可以在以前呈现的记录上呈现记录。 该方法减少了DOM元素,但使用户能够平滑滚动数据。 您可以将本地绑定或远程绑定(用于大量数据)用于虚拟滚动,当用户向下滚动记录时,将启动用于检索下一个视图的新请求。
减少数据量
通过使用外部或初始过滤器减少数据量与Grid不直接相关,而是处理大量数据的通用方法。 概念是实施其他筛选条件,以减少绑定到网格的记录。 一些项目允许使用外部过滤器小部件,例如DropDownList,并且它们的选定值用于在将数据传递到Grid之前对其进行过滤。 例如,如果您有来自不同公司的数百万个订单,则可以使用所有公司的外部DropDownList列表,然后在dataSource的读取数据操作中将当前选择的一个应用为附加参数。 这样,您可以应用初始过滤器,仅返回该公司的订单。
为了减少数据量,您还可以为Grid的dataSource中的特定字段设置初始过滤条件。 但是,如果启用了过滤并且绑定到该字段的列是可见的,则用户将能够删除它。
使用快速浏览器
Internet Explorer会慢慢处理页面上使用太多DOM元素和事件侦听器的窗口小部件。 在Kendo UI小部件的上下文中,使用Chrome可提供最佳的用户体验。



回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-4-25 11:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表