[Primefaces] filtrer une table primefaces en fonction du selectonemenu
Bonjour a tous!
je voudrais filtrer une datatable primefaces en utilisant une valeur provenant d'une selectonemenu. je suis sous netbeans,jpa jsf et primefaces. voici mon code html
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <h:form id="tabPiece">
<h3>Liste des pieces perdues </h3>
<p:selectOneMenu value="#{piecePerduB.selectedtpi}" required="true" requiredMessage="Please Select Contract."
>
<f:selectItem itemValue="" itemLabel="-Select Type-" noSelectionOption="true" itemDisabled="true"></f:selectItem>
<p:ajax listener="#{piecePerduB.pieceChangeListener(event)}" event="change" update=":tabPiece"/>
<f:selectItems id="selectType" value="#{piecePerduB.listetp}" var="selectedtpi" itemLabel="#{selectedtpi.libelleType}" itemValue="#{selectedtpi.id}" />
</p:selectOneMenu>
<p><img src="resources/passeport-cni.gif" alt="Image" title="Image" class="image" />
<p:dataTable id="tablePiece" var="piece" value="#{piecePerduB.listeTrieType}" widgetVar="pieceTable"
style="margin-bottom:20px" >
<p:column headerText="Type" >
<h:outputText value="#{piece.type.libelleType}"/>
</p:column >
<p:column headerText="Nom">
<h:outputText value="#{piece.nomComplet}"/>
</p:column>
</p:dataTable>
</p>
</h:form> |
et dans mon bean
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| public void pieceChangeListener(ValueChangeEvent event) {
System.out.println("je suis ici");
Object newValeur= event.getNewValue();
System.out.println("je suis ici "+idtpi);
if(newValeur!=null){
System.out.println(newValeur.toString());
idtpi = (Long) newValeur;
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("le type de piece:"+idtpi));
getListeTrieType();
// FacesContext.getCurrentInstance().getExternalContext()
// .getSessionMap().put("selectedtpi", event.getNewValue());
}
} |
quelq'un pourrait il me guider s'il vous plait.