2015-01-20 7 views
0

У меня есть форма запроса в файле jspx, и я пытаюсь определить некоторые из значений как чувствительные к регистру, что означает, что я хочу найти, например, имя с все буквы в верхнем регистре и/или в нижнем регистре и получить значения, которые я получил бы, если бы я правильно ввел имя. Может ли кто-нибудь указать мне, где я могу найти что-то для этого?Верхние и/нижние запрашиваемые значения jdeveloper

Заранее спасибо

-------- Обновление

кода из моего JSPX файла

<af:query id="qryId1" headerText="Search" disclosed="true" 
      value="#bindings.ImplicitViewCriteriaQuery.queryDescriptor}" 
      model="#bindings.ImplicitViewCriteriaQuery.queryModel}" 
      queryListener="#bindings.ImplicitViewCriteriaQuery.processQuery}" 
      queryOperationListener="#{bindings.ImplicitViewCriteriaQuery.processQueryOperation}" 
      resultComponentId="::resId1" 
      binding="#{backingBeanScope.backing_SearchCustomer.qryId1}" 
      maxColumns="3" rows="2" fieldWidth="30%" 
      displayMode="compact" saveResultsLayout="never" 
      saveQueryMode="hidden" modeChangeVisible="false"/> 

ответ

1

В качестве критерия зрения, для каждого элемента критерия есть флажок Ignore Case. Снимите флажок, если вы хотите, чтобы это поле поиска было чувствительным.

Если вы используете All Queriable Attributes для создания своего поиска, вы можете установить его в методе queryListner компонента запроса. Вот шаги:

Создайте метод queryListener для компонента запроса

<af:query id="qryId1" headerText="Search" disclosed="true" value="#{bindings.ImplicitViewCriteriaQuery.queryDescriptor}" model="#{bindings.ImplicitViewCriteriaQuery.queryModel}" queryListener="#{backingBeanScope.searchBean.queryListener}" queryOperationListener="#{bindings.ImplicitViewCriteriaQuery.processQueryOperation}" resultComponentId="::resId1"/>

Сделать запрос атрибутов нечувствительно к регистру в методе queryListener

public void queryListener(QueryEvent queryEvent) 
    { 
    QueryDescriptor qdesc = (QueryDescriptor) queryEvent.getDescriptor(); 
    ConjunctionCriterion conCrit = qdesc.getConjunctionCriterion(); 
    //access the list of search fields 
    List<Criterion> criterionList = conCrit.getCriterionList(); 
    for (Criterion criterion: criterionList) 
    { 
     ((AttributeCriterion) criterion).setMatchCase(false); 
    } 
    invokeMethodExpression("#{bindings.ImplicitViewCriteriaQuery.processQuery}", queryEvent); 
    } 

    private void invokeMethodExpression(String expr, QueryEvent queryEvent) 
    { 
    FacesContext fctx = FacesContext.getCurrentInstance(); 
    ELContext elContext = fctx.getELContext(); 
    ExpressionFactory eFactory = 
     fctx.getApplication().getExpressionFactory(); 
    MethodExpression mexpr = 
     eFactory.createMethodExpression(elContext, expr, Object.class, 
             new Class[] 
     { QueryEvent.class }); 
    mexpr.invoke(elContext, new Object[] 
     { queryEvent }); 
    } 
+0

Это также справедливо, когда перетащить из управления данными все запрашиваемые атрибуты? – Lopez

+0

Панель поиска из всех запрашиваемых атрибутов по умолчанию чувствительна к регистру – amishra

+0

thk для ваших ответов @amishra. Я попытался проверить запрос, так как вы сказали, что чувствительность к регистру по умолчанию активна, но без успеха. Могу ли я что-то упустить? Я добавляю код запроса в свой пост – Lopez

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