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