如何“使用具有一些默认选择的多复选框过滤器在服务器端过滤 Kendo Grid 数据”
Posted
技术标签:
【中文标题】如何“使用具有一些默认选择的多复选框过滤器在服务器端过滤 Kendo Grid 数据”【英文标题】:How to "Filter a Kendo Grid data on serverSide with multi checkbox filter that has some default selections made" 【发布时间】:2019-08-23 09:44:42 【问题描述】:我正在尝试在服务器端过滤设置为 true 的剑道网格列上创建一个多复选框过滤器。在多选复选框过滤器中,我想将选择默认为某个值。我正在尝试实现下面给出的这两种情况:
1) 我仍然希望 multiSelect 过滤器向我显示该字段的所有值,并且只检查默认选择。
2) 此外,将网格列上的数据过滤到多复选框过滤器中选中的复选框。
我已经尝试了以下方法,并且我大多接近实现 1) 或 2)。但我正在努力让他们两个一起工作。
Here's a link to the demo for 1)
通过上述方法,我可以只选中默认复选框,但加载时的网格数据不显示过滤后的数据,它显示了所有内容。
对于2)我尝试了以下
Filter: [
field: "ProductName", operator: "eq", value: "Chai"
],
上述代码正确过滤了网格上的数据,但对于菜单过滤器,复选框列表也被缩小为仅包含服务器发送的过滤项目列表。 (寻找缩小网格数据范围的解决方案,但在复选框过滤器中显示所有选项)。
有没有办法让这两个要求在带有服务器端过滤的多复选框过滤器上一起工作?
非常感谢任何解决此问题的想法。
提前谢谢你!
【问题讨论】:
你试过 filterMenuInit 了吗? 是的,Here's 我试过了,这不会过滤网格上的数据。 也许你也可以手动提交。你可以根据你的问题改变它看看here 【参考方案1】:启用 Grid 的 serverPaging 时,应为所有 Filterable Multi Check 小部件提供 dataSource。这意味着,您必须在服务器上实现方法,该方法将返回要在过滤器中显示的项目列表。
columns: [
field: "FirstName",
filterable:
multi: true,
//when serverPaging of the Grid is enabled, dataSource should be provided for all the Filterable Multi Check widgets
dataSource:
transport:
read:
url: telerikWebServiceBase + "Employees/Unique",
dataType: "jsonp",
data:
field: "FirstName"
,
,
这是一个有效的demo。
这是 Telerik 演示的 link。
【讨论】:
以上是关于如何“使用具有一些默认选择的多复选框过滤器在服务器端过滤 Kendo Grid 数据”的主要内容,如果未能解决你的问题,请参考以下文章