我正在尝试过滤多个字段的数据源。我的网格上有一个 Kendo Multi 过滤器复选框选项。我为每一列初始化每个 Kendo 多重过滤器。
之后,我使用这样的 javascipt 函数应用过滤器,并将网格的数据设置为过滤后的数据。
function filterGrid() {
var grid = $("#grid").data('kendoGrid');
var filter = [];
filter.push({ field: "ratingPlace", operator: "startswith", value: "US" });
grid.dataSource.filter(filter);
grid.dataSource.data(grid.dataSource.view());
}
因此,该函数将过滤器应用于网格。现在,当我单击 Kendo 多重过滤器选项时,旧数据源中的所有数据都会出现在过滤器列表中。
我怎样才能避免这种情况?我只需要过滤后的数据仅在过滤后的列表中可用,而不是在整个 dataSource 项中可用。在执行 filterGrid() 函数后初始化 Kendo 多个复选框过滤器时,我没有这个问题。有没有办法重新初始化每列的(“kendoFilterMultiCheck”)的来源?我附上了一个 jsfiddle 示例来演示相同的内容。
1)首先通过单击具有初始数据源的列标题来初始化所有过滤器多复选框 2)单击过滤器按钮 3)替换数据源 4)单击过滤器多重检查与新数据源 - 旧过滤器数据出现在列表中