我们正在使用一些后台过滤来将数据带入剑道网格。 我们正在显示基于某些列的过滤数据 所以我们要求在kendo网格中显示过滤器。 在数据绑定之后,我们将这些过滤器应用于网格以显示过滤后的列
以下是代码段。
var rows=grid.DataSource;
var filterArray;
filterArray[0]={field: 'Duration',
operator: 'Equal',
value: 20
}
filterArray[1]={field: 'AgentName',
operator: 'Contains',
value: 'a'
}
rows.Filter(filterArray);
但是当应用过滤器时,Kendo会根据过滤器进行servre调用以再次获取数据,这是我们不想要的,因为我们已经显示过滤数据。
有没有办法在不进行服务器调用的情况下在网格上显示过滤器列?我们只需要在过滤器文本框中设置过滤器值。
答案 0 :(得分:2)
我认为这可以通过以下步骤实现:
示例代码:
var filterArray = new Array();
filterArray.push({field: 'Duration', operator: 'Equal', value:20});
filterArray.push({field: 'AgentName', operator: 'Contains', value: 'a'});
$("#grid").data("kendoGrid").dataSource._filter = { logic: "and", filters: filterArray };
$("#grid").data("kendoGrid").refresh();
可以找到实例[{3}}(在FirstName中填写内容,然后点击添加过滤器按钮)