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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.