Kendo网格 - 可过滤的多个(带有复选框的慢速加载列表)

时间:2015-12-02 15:31:05

标签: performance kendo-ui grid filtering loading

我的带有外键的kendo网格中的列被设置为可过滤的多(服务器过滤,MVC)。默认筛选器UI模板是带有值的复选框列表。这很酷。但这个列表加载速度很慢,大约1-2分钟, 而其他一切(分页,搜索和其他功能,都很快。

visualization of the problem

如何加快过滤列表加载速度? 谢谢,Hawk

2 个答案:

答案 0 :(得分:1)

在幕后发生的事情是,当您第一次打开过滤器并且所有数据(用于网格)从服务器发送到后台时,所有数据(没有分页选项)的请求都是在后台进行的。客户。然后,客户端选择相应字段的唯一值,并将它们用作多重过滤器的dataSource。

分页和过滤速度更快,因为它只抽出一页,通常不超过50项。

因此,您应该使用某些枚举的静态数据手动填充过滤器dataSource(grid.columns.filterable.dataSource),或者您可以将dataSource定义为任何其他DataSource对象(具有传输属性)以拉取来自远程服务的数据。

请参阅http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#configuration-columns.filterable.dataSource

使用MultiCheck过滤和服务器分页时,文档页面上还会出现警告:

  

如果已启用columns.multi选项,并且Grid使用serverPaging(或使用MVC包装时为ServerOperations(true)),则需要提供columns.filterable.dataSource。否则,可能会对性能产生负面影响。

答案 1 :(得分:0)

我目前也有同样的问题。虽然我目前没有明确的回应,但我认为它可能与数据源有关:在telerik / kendo网站上,他们巧妙地提到了这一点,但没有详细说明,

“field:”FirstName“,                                 标题:“名字”,                                 可过滤的:{                                     多:真的,                                     //当启用Grid的serverPaging时,应为所有Filterable Multi Check小部件提供dataSource                                     数据源: {                                         运输: {                                             阅读:{                                                 url:telerikWebServiceBase +“Employees / Unique”,                                                 dataType:“jsonp”,                                                 数据:{                                                     字段:“FirstName”                                                 }                                             }                                        }                                     }                                 }, “

以下是完整参考的链接。我希望这可以帮助别人找到一个完整的答案,我一定会在找到一个答案后发布。 https://demos.telerik.com/kendo-ui/grid/filter-multi-checkboxes