我可以在primefaces autocomplete组件中使用omnifaces通用转换器吗?

Sam*_*mar 5 primefaces jsf-2 omnifaces

我试图在Primefaces自动完成组件中使用Omnifaces通用转换器 像这样:

<p:dataTable id="transactiondetailsid" value="# {stockTransactionsBean.stkTransHeader.stkTransDetailsList}" var="stkTransDet"  rowIndexVar="rowIndex">  

      <p:column>  
       <f:facet name="header">  
     <h:outputText value="Item Code" />  
    </f:facet>  

 <p:autoComplete id="dd" dropdown="true" autocomplete="true" 
   value="#{stkTransDet.item}" var="i" itemLabel="#{i.itemnamee}" 
   itemValue="#{i}" converter="omnifaces.SelectItemsConverter"
   completeMethod="#{stockTransactionsBean.completeItems}" forceSelection="true" 
   scrollHeight="250" minQueryLength="3" maxResults="30" queryDelay="1000" size="20" /> 

     </p:column>  
      </p:dataTable> 
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为omn​​ifaces.SelectItemsConverter依赖于 f:selectItems标签,它不能在p:autoComplete中使用

任何建议或解决方法????

Bal*_*usC 11

使用专为此目的而设计的其他转换器ListConverter.

<p:autoComplete value="#{bean.selectedItem}" completeMethod="#{bean.completeItems}">
    <o:converter converterId="omnifaces.ListConverter" list="#{bean.availableItems}"/>
</p:autoComplete>
Run Code Online (Sandbox Code Playgroud)
private String selectedItem; // +getter+setter
private List<String> availableItems; // +getter

public List<String> completeItems(String query) {
    availableItems = someService.search(query);
    return availableItems;
}
Run Code Online (Sandbox Code Playgroud)

  • 在展示中展示这个例子会很有帮助:http://showcase.omnifaces.org/converters/ListConverter (3认同)