2016-07-14 6 views
0

私はJava EEプロジェクトで作業中で、Primefaceを使用しています。グループ別に検索結果を表示しようとしています。結果を表示するために、私はprimefaces autocomplete facetを使用しています。私はいくつかの結果に達するが、問題は、あなたが以下を参照してくださいと同じグループが繰り返しているということです。(「0002」、「000」のグループが繰り返さ)Java PrimeFacesオートコンプリートファセットグループ化中に同じグループを繰り返す

enter image description here

ここ
<p:autoComplete id="generalSearch" completeMethod="#{search.afterSearch}" minQueryLength="3" 
            var="doc" itemLabel="#{doc.get('NAME')}" itemValue="#{doc}" forceSelection="true" groupBy="#{doc.get('CODE')}" 
            converter="searchConverter" scrollHeight="500" 
            effect="blind" styleClass="SearchText" placeholder="Search"/> 

は私のSearchConverterクラスです

@FacesConverter("searchConverter") 
public class SearchConvert implements Converter { 

    @Override 
    public Object getAsObject(FacesContext context, UIComponent component, String value) { 
     if(value != null && value.length() > 0) { 
      try { 
       SearchBean sBean = (SearchBean) context.getExternalContext().getSessionMap().get("search"); 
       System.out.println("VALUE " + value); 
       return sBean.getDocs().get(Integer.parseInt(value)); 
      } catch(NumberFormatException e) { 
       Log.debug("ERROR"); 
       throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Conversion Error", "Not a valid theme.")); 
      } 
     } 
     else { 
      return null; 
     } 
    } 

    @Override 
    public String getAsString(FacesContext context, UIComponent component, Object value) { 
     if(value != null) { 
      return (String) ((SolrDocument) value).get("id"); 
     } 
     return null; 
    }  
} 

getAsObjectは機能しているかどうかわかりません。私はSystem.out.println("VALUE " + value);の出力を見ることができないので

+0

メソッド 'completeMethod = "#{search.afterSearch}" doenotで返されるリストは000 002値のチェックアウトです。 –

+0

私のリストの値は000と0002ですが、なぜ2つの異なるグループがリストにありますか? @ankushyadav – mismanc

+0

ああ待っているプラ​​イムフェイスは、直前の他のグループをチェックしません。 @ankushyadav – mismanc

答えて

0

ああ待っているprimefaceは直前の他のグループをチェックしません。 selectコマンドを実行するときにgroup byを使用してください

関連する問題