我试图在kendo网格的一列上创建一个多复选框过滤器,并将serversidefiltering设置为true。在multiselect-checkbox过滤器中,我想将选择默认设置为某个值。我正在尝试实现以下两种方案:
1)我仍然希望multiSelect过滤器向我显示该字段的所有值,并且只检查默认选择。
2)另外,在多复选框过滤器中选中网格列上的数据并向下过滤到复选框。
我已经尝试了以下方法,并且我几乎已经接近实现1)或2)。但是我正在努力使他们一起工作。
Here's a link to the demo for 1)
使用上述方法,我只能选中默认复选框,但是加载的网格数据不会显示过滤后的数据,而是显示所有内容。
对于2)我尝试了以下
Filter: [{
field: "ProductName", operator: "eq", value: "Chai"
}],
上面的代码正确过滤了网格上的数据,但是对于菜单过滤器,复选框列表也缩小了范围,只包含服务器发送的过滤项目列表。 (寻找一种解决方案来缩小网格中的数据范围,但在复选框过滤器中显示所有选项)。
有没有办法让这两个要求在具有ServerSide过滤功能的多复选框过滤器上一起工作?
任何解决此问题的想法都受到高度赞赏。
提前谢谢!
答案 0 :(得分:1)
启用网格的serverPaging时,应为所有“可过滤的多重检查”窗口小部件提供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。