2016-03-01 2 views
1

У меня очень интересная ошибка, когда я применяю фильтры с разными переменными, фильтрация работает нормально, но если я использую одну переменную фильтра, например id ne 1 or id ne 2 и т. Д., Фильтры не применяются, так как odata похоже, не понимает группировку фильтров, sapui5 автоматически группирует их как (id ne 1 or id ne 2), поэтому он не работает, но если я использую такие фильтры: id ne 1 and year ne 2016 and scenario eq 2 без группировки, то фильтр этого типа отлично работает, проверяет все из применяемых URL-адресов от инструмента разработчика (сеть), применяются фильтры. кажется, что этот sap odata не понимает группировку фильтров, потому что версия может быть старой или smth вроде этого ... также попытался определить параметр фильтра, например: and: true, так что все фильтры применялись не через OR, а с оператором AND, didnt помогите ... Итак, каково может быть решение этой проблемы или проблемы?группировка фильтра в sapui5

благодарит всех вас за помощь!

ответ

1

Это способ конкатенации фильтров вручную. Таким образом, вы можете управлять группировкой вручную.

var filter1 = new sap.ui.model.Filter("id","NE", 1); 
var filter2 = new sap.ui.model.Filter("id","NE", 2); 
var andFilter = new sap.ui.model.Filter([filter1 ,filter2 ], true); 
var orFilter = new sap.ui.model.Filter([filter1 ,filter2 ], false); 

Filter documentation

+0

да, это был правильный ответ, мой плохой, я прочитал документацию плохо)) и используется 'and' как' верно | false' неправильно. –

Смежные вопросы