2016-02-03 1 views
0

Je travaille sur la migration de richfaces de 3.3 à 4.2. Je suis bloqué avec le remplacement de la balise riche: suggestionbox par la balise riche: autocomplete.Remplacer le code pour riche: suggestionbox avec riche: saisie semi-automatique

RichFaces Code 3.3,

<rich:suggestionbox for="officerSrch" minChars="2" nothingLabel="No managers found" 
           suggestionAction="#{batchProcessor.searchOfficers}" fetchValue="" 
           var="o" eventsQueue="officerQueue" 
           height="270" width="480"> 
        <a4j:support event="onselect" action="#{accountLookupAction.add(o)}" reRender="params"/>      
        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="Employee ID"/> 
         </f:facet> 
         <h:outputText value="#{o.employeeId}"/> 
        </h:column> 
        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="First Name"/> 
         </f:facet> 
         <h:outputText value="#{o.firstName}"/> 
        </h:column> 
        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="Last Name"/> 
         </f:facet> 
         <h:outputText value="#{o.lastName}"/> 
        </h:column> 
       </rich:suggestionbox> 

Quelqu'un peut-il s'il vous plaît me guider pour convertir le code ci-dessus pour richfaces 4?

Répondre

0

Richfaces 4.2.0 Version finale riche: la saisie semi-automatique ne fonctionne pas correctement. Conformément à la suggestion du développeur Jboss, j'ai mis à jour la version de 4.2.0.Final vers la version 4.5.13.Final.

Vous pouvez consulter le lien suivant, https://developer.jboss.org/thread/267610

J'ai trouvé la solution à ce problème. Il sera utile de résoudre une personne confrontée au même problème. Voici une solution y,

<rich:autocomplete mode="cachedAjax" minChars="2" autofill="false" selectFirst="false" 
        autocompleteMethod="#{batchProcessor.searchOfficers}" id="officerSrch" layout="table" fetchValue="#{o.employeeId}" 
        value="#{accountLookupAction.empId}" var="o" eventsQueue="officerQueue" height="270" width="480"> 
        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="Employee ID"/> 
         </f:facet>    
         <h:outputText value="#{o.employeeId}"/> 
        </h:column> 
        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="First Name"/> 
         </f:facet> 
         <h:outputText value="#{o.firstName}"/> 
        </h:column> 
        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="Last Name"/> 
         </f:facet> 
         <h:outputText value="#{o.lastName}"/> 
        </h:column> 
        <a4j:ajax event="selectitem" listener="#{accountLookupAction.addOfficer()}" render="params"/> 
       </rich:autocomplete> 
  1. valeur d'en-tête est pas pris en charge dans les pays riches: aotocomplete.
  2. L'attribut fetchValue ne peut pas être vide, vous devez affecter la valeur que vous souhaitez utiliser dans la classe d'action .
  3. Vous ne pouvez pas affecter ou transmettre un objet via rich: autocomplete. Il est actuellement compatible uniquement avec la valeur String.