2016-09-20 2 views
0

Jevaleur du tableau JSF 1.2 comme id pour le bouton de commande a4j

<h:column headerClass="details_header"> 
    <h:panelGroup rendered="#{foo.checkIffooIsAvailable(table.YooId)}"> 
     <h:form> 
      <h:inputHidden id="hiddenYooboo" value="#{table.YooId}" 
       binding="#{foo.hiddenInputValue}"/> 
      <a4j:commandButton styleClass="quickYooButton fooButton" 
       value="#{textElement.getText('foo')}" reRender="fooPanel" 
       action="#{foo.getFullfooAmount()}"> 
       <rich:componentControl for="fooPanel" event="oncomplete" 
        operation="show" /> 
      </a4j:commandButton> 
     </h:form> 
    </h:panelGroup> 
</h:column> 

Et backend

private Integer boo; 
private BigDecimal partialfoo; 
public List<Integer> fooTableYoos = new ArrayList<Integer>(); 
public UIInput hiddenInputValue;  

public Boolean checkIffooIsAvailable(Integer tableboo) { 
    Iterator<Integer> iter = fooTableYoos.iterator(); 
    while (iter.hasNext()) { 
     if (iter.next().compareTo(tableboo) == 0) { 
      return true; 
     } else { 
      return false; 
     } 
    } 
    return false; 
} 

public BigDecimal getFullfooAmount() { 
    BigDecimal fooAmount = null; 
    try { 
     fooAmount = new BigDecimal(100); 
     setFullfoo(fooAmount); 
    } catch (Exception e) { 
     log.error("getFullfooAmount()", e); 
    } 
    return fooAmount; 
} 
    public UIInput getHiddenInputValue() { 
    return hiddenInputValue; 
} 

public void setHiddenInputValue(UIInput hiddenInputValue) { 
    this.hiddenInputValue = hiddenInputValue; 
} 

Le problème est que lorsque je clique sur commandButton je reçois une erreur:

Could not instantiate Seam component: table.

J'ai besoin sur le rendu de la table de vérifier si boo est sur la liste et quand le vrai bouton de rendu. Ensuite, quand j'ai le bouton, je dois vérifier quel identifiant j'ai cliqué et ouvrir le modal avec les données rechargées par cet identifiant. Il n'y a pas de table nommée de composant. Couse c'est seulement des trucs dataTable. h:CommandButton fonctionne, mais le modal après la deuxième fermeture et ne rechargent pas les données de modal.

Répondre

1

La solution changeait de type de dataTable à rich: dataTable