获取KendoUI Grid中使用的过滤器

bob*_*534 8 telerik kendo-ui

在KendoUI中,我有一个带过滤器的网格.我更感兴趣的是了解用户用于保存目的的所有过滤器,以便下次用户进入时,它们可以自动填充.如何使用所有过滤器?

ram*_*_tm 15

不确定代码的外观,但您应该能够获取Grid的数据源对象并调用方法filter()来获取当前应用的数据源过滤器.看看从下面拍摄的例子在这里:

<script>
var dataSource = new kendo.data.DataSource({
  data: [
    { name: "Jane Doe" },
    { name: "John Doe" }
  ],
  filter: { field: "name", operator: "startswith", value: "Jane" }
});
var filter = dataSource.filter();
console.log(filter.logic);  // displays "and"
console.log(filter.filters[0]); // displays '{field: "name", operator: "startswith", value: "Jane"}'
</script>
Run Code Online (Sandbox Code Playgroud)


小智 5

只是添加到上面的答案 - 如果你想纯粹在前端做,甚至不针对实际数据源 - 你可以使用以下...

var myGrid = $("#gridname").data("kendoGrid");
myGrid.dataSource.filter().filters[0];
Run Code Online (Sandbox Code Playgroud)

您可以将其分解为不同的参数......

myGrid.dataSource.filter().filters[0].field
myGrid.dataSource.filter().filters[0].operator
myGrid.dataSource.filter().filters[0].value
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助 - 欢呼