我想爲具有多個條件的數據源構建過濾器。我發現這個線程(HERE),其中的人有幾乎相同的問題,但我想在我的兩個操作之間做一個OR而不是AND。Kendo DataSource過濾多個條件
有我的代碼至今:
var filter = { logic: "OR", filters: [] };
var filterProduct = { logic: "AND", filters: [] };
var supplierValue = dropdownSupplier.value();
if (supplierValue != "00000000-0000-0000-0000-000000000000") {
filterProduct.filters.push({ field: "SupplierId", operator: "eq", value: supplierValue });
}
var categoryValue = dropdownCategory.value();
if (categoryValue != "00000000-0000-0000-0000-000000000000") {
filterProduct.filters.push({ field: "CategoryId", operator: "eq", value: categoryValue });
}
var typeValue = dropdownType.value();
if (typeValue != "00000000-0000-0000-0000-000000000000") {
filterProduct.filters.push({ field: "TypeId", operator: "eq", value: typeValue });
}
var filterSelect = { logic: "OR", filters: [] };
filterSelect.filters.push({ field: "Id", operator: "eq", value: "00000000-0000-0000-0000-000000000000" });
filter.filters.push(filterProduct);
filter.filters.push(filterSelect);
dropdownProduct.dataSource.query({ filter: filter });
其實我想這樣做是有:(filterProduct)OR(filterSelect),但如果我不是在用「邏輯」可變過濾器,過濾器將是一個「與」。
非常感謝
編輯:有一個的jsfiddle接近我想要做的,但與「AND」:Example在這個例子中,過濾器是: [{[運費= 11.61或貨運= 51.30] }和{[市startswith 「沙勒羅瓦」]}]
但我想有somethign像: [{[運費= 11.61或貨運= 51.30]} 或 {[市startswith 「沙勒羅瓦」]}]
我終於得到它,我會在8小時內發佈代碼,當我能夠...但關鍵字AND和OR需要小寫,我不需要使用變量filterSelect – forumma