여러 조건이있는 데이터 소스에 대한 필터를 작성하려고합니다. 나는이 스레드 (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)하지만 난에서 "논리"를 사용하지 않는 경우 가변 필터를 사용하면 필터는 "AND"가됩니다. Example이 예에서 필터는 다음과 같습니다 : 내가하고 싶은 것에 만은 "AND"와 jsFiddle 가까이가있다 :
감사
편집 많이 [{[화물 = 11.61 또는화물 = 51.30] 내가 갖고 싶어
그러나}과 {[도시 startswith "샤를 루아"]}] somethign 같은 : [{[화물 = 11.61 또는화물 = 51.30]} 또는 {[도시 startswith "샤를 루아"]}]
내가 : (일을하는 여러 문서화되지 않은 방법으로이 있기 때문에) 검도 UI를 해독하려고 다른 사람들을 위해, 나는 두 개의 서로 다른 필드와 하나 개의 필드가 화합물 또는 필터가에 필터를 설정하는 내 예제를 포함했다 그것을 얻을 수있을 테니, 8 시간 안에 내가 tmy 코드를 푸틴 것이다.하지만 키워드 AND와 OR은 소문자 여야하고 변수 filterSelect를 사용할 필요가 없다. – forumma