我正在尝试运行查询方法,以根据id值过滤网格。以下是抓取id和数据源并设置查询选项的函数。
代码:
function retrieve() {
me.selectedLocationIds = me.selectedItems.selectedLocationIds;
me.selectedProductIds = me.selectedItems.selectedProductIds;
var gridDataSource = me.PriceGrid.dataSource;
var options = {
sort: gridDataSource.options.sort,
filter: buildFilters(),
page: 1,
pageSize: gridDataSource.options.pageSize
};
gridDataSource.query(options)
)
过滤器是在名为BuildFilters()的函数中创建的。以下是控制台中显示的过滤器:
查询正在运行,没有错误,我收到了http响应,但数据没有变化,响应返回了所有内容。
按要求构建BuildFilters():
function buildFilters() {
var filters = [];
if (!_.isEmpty(me.selectedLocationIds)) {
filters.push({
logic: 'or',
filters: kendoUISettingsHelper.convertArrayToKendoOdataFilter(me.selectedLocationIds, 'LocationId')
});
}
if (!_.isEmpty(me.selectedProductIds)) {
filters.push({
logic: 'or',
filters: kendoUISettingsHelper.convertArrayToKendoOdataFilter(me.selectedProductIds, 'ProductId')
});
}
return filters;
}