我有一个Kendo网格,可以正确显示数据。我想添加一个输入框,当用户在网格中键入内容时,该框会过滤数据,例如网格的搜索框功能。

最初,我设置网格的数据源:

  $("#grid").data("kendoGrid").setDataSource(new kendo.data.DataSource({ data: result }));


过滤器的应用如下:

$("#grid").data("kendoGrid").dataSource.filter({
        logic: 'or',
        filters: [
            { field: 'lastName', operator: 'startswith', value: viewModel.get('searchValue') },
            { field: 'address', operator: 'startswith', value: viewModel.get('searchValue') }
        ]
    });


和输入框:

 <input data-bind="value: searchValue" />


但是,只要更改searchValue,dataSource就会保持不变,并且网格也不会更改。

最佳答案

您可以在下面的代码中连接onchange函数

var kgrid = $("#grid").data("kendoGrid");
var orfilter = { logic: "or", filters: [] };
orfilter.filters.push({ field: "lastName", operator: "startswith", value: viewModel.get('searchValue')  },
                      { field: "address", operator: "startswith", value: viewModel.get('searchValue')  });
kgrid.dataSource.filter(orfilter);

07-24 17:57