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