ADF: как удалить значения, установленные для критериев просмотра - PullRequest
0 голосов
/ 25 февраля 2019

Я использую Jdev 11g для разработки.

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

Например, естькритерий просмотра VC, который содержит 2 критерия имя и возраст.Я установил значения для имени и выполнить SQL, чтобы получить результаты.

Теперь мне нужно сбросить критерии просмотра и установить новые значения для имени или возраста.

Я использую приведенный ниже код для сброса критериев просмотра:

vo.removeViewCriteria(viewCriteriaName);
ViewCriteria vc= vo.getViewCriteria(viewCriteriaName);
vc.reset();

//update the view criteria
ViewCriteriaRow vcr = (ViewCriteriaRow)vc.first();
ViewCriteriaItem vci = vcRow.getCriteriaItem(attributeName);
vcItem.setOperator(SearchServiceConstants.IN);

//get the values here
vci.setValues(values);
vcr.setConjunction(vcRow.VC_CONJ_AND);

vo.applyViewCriteria(vc, true);
vo.executeQuery();

НоТем не менее, в критериях просмотра есть одна переменная связывания, которая влияет на результаты SQL.

Мне нужен чистый критерий просмотра, в котором нет данных привязки.

Может ли кто-нибудь помочь сэтот?Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

попробуйте это:

vo.setApplyViewCriteriaName(null);
vo.executeQuery();

Затем установите новые критерии и свяжите переменные.Всегда работал для меня в прошлом

0 голосов
/ 25 февраля 2019

Если я правильно понял вопрос, который вы спрашиваете на h , чтобы применить критерии просмотра к объекту просмотра при удалении всех предыдущих установленных значений критериев просмотра .

В вашем случае использования предыдущие критерии просмотра не удаляются из-за логического значения, которое вы передаете в vo.applyViewCriteria (vc, true);

логическое значение второго параметра установлено, чтобы позволить вам сохранить или удалить ранее установленные критерии просмотра.

см .: https://docs.oracle.com/cd/E23943_01/apirefs.1111/e10653/oracle/jbo/ViewObject.html#applyViewCriteria(oracle.jbo.ViewCriteria,%20boolean)

Применили критерии просмотра к этому объекту просмотра.Если bAppend имеет значение true, критерии просмотра добавляются в список уже примененных критериев просмотра.Если bAppend имеет значение false, список примененных критериев просмотра очищается перед применением переданных критериев просмотра.Параметры: критерии - критерии просмотра представления, которые будут применены bAppend - флаг, указывающий, нужно ли очищать список примененных критериев представления перед применением критериев представления.

В вашем случае вам просто нужны две следующие строки вВаша функция Java:

vo.applyViewCriteria(vc, false);
vo.executeQuery();

Для получения дополнительной информации обратитесь к документу или следующему учебнику: https://cedricleruth.com/how-to-apply-a-viewcriteria-programmatically-in-adf/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...