bonjour,
la datatable de sélection multiple de primefaces n'a pas marché chez moi, malgré que j'ai essayé de faire le meme code que celui de la démonstration du site : http://www.primefaces.org/showcase-l...ioCheckbox.jsf
mais malheureusement lorsque je coche des lignes et je clique sur le bouton view la datalist renvoie 0 lignes
je vous montrerai le code , si vous pouvez trouvez quelque choses qui ne marche pas

voila la page xhtml :
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>TODO supply a title</title>
    </h:head>
    <h:body>
        <h:form id="form"> 
            <p:dataTable id="multiCars" var="car" value="#{fortest.mediumCarsModel}" paginator="true" rows="10"  
                         selection="#{fortest.selectedCars}">  
 
                <f:facet name="header">  
                    Checkbox Based Selection  
                </f:facet>  
 
                <p:column selectionMode="multiple" style="width:18px" />  
 
                <p:column headerText="id">  
                    #{car.id}  
                </p:column>  
 
                <p:column headerText="date envoi">  
                    #{car.dateEnvoi}  
                </p:column>  
 
                <p:column headerText="decision" >  
                    #{car.decision}  
                </p:column>  
 
                <f:facet name="footer">  
                    <p:commandButton id="multiViewButton" value="View" icon="ui-icon-search"  
                                     update=":form:displayMulti" oncomplete="multiCarDialog.show()"/>  
                </f:facet>  
            </p:dataTable>  
 
            <p:dialog id="multiDialog" header="Car Detail" widgetVar="multiCarDialog"  
                      height="300" showEffect="fade" hideEffect="explode">  
 
                <p:dataList id="displayMulti"  
                            value="#{fortest.selectedCars}" var="selectedCar">  
                    id : #{selectedCar.id}, dateEnvoi #{selectedCar.dateEnvoi}  
                </p:dataList>  
 
            </p:dialog>  
        </h:form>
    </h:body>
</html>
voila le managed-Bean :

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
@ManagedBean
@SessionScoped
public class fortest implements Serializable {
 
    private Commande[] selectedCars;
    private dortestDataModel mediumCarsModel; 
    utilisateursHelper uh;
    /**
     * Creates a new instance of fortest
     */
    public fortest() {
        uh = new utilisateursHelper();
        mediumCarsModel = new dortestDataModel(uh.getAllCommandes());
 
    }
 
    public void setSelectedCars(Commande[] selectedCars) {
        System.out.println("alors je suis donc la size : "+selectedCars.length);
        this.selectedCars = selectedCars;
    }
 
    public Commande[] getSelectedCars() {
        return selectedCars;
    }
 
    public dortestDataModel getMediumCarsModel() {
        return mediumCarsModel;
    }
 
}
et voila le datamodel :
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
32
public class dortestDataModel extends ListDataModel<Commande> implements SelectableDataModel<Commande> {    
 
    utilisateursHelper uh;
 
    public dortestDataModel() {  
    }  
 
    public dortestDataModel(List<Commande> data) {  
        super(data);  
        uh = new utilisateursHelper();
    }  
 
    @Override  
    public Commande getRowData(String rowKey) {  
        //In a real app, a more efficient way like a query by rowKey should be implemented to deal with huge data  
 
 
        List<Commande> cars = (List<Commande>) uh.getAllCommandes();  
 
        for(Commande car : cars) {  
            if(car.getId().equals(rowKey))  
                return car;  
        }  
 
        return null;  
    }  
 
    @Override  
    public Object getRowKey(Commande car) {  
        return car.getId();  
    }  
}
merci d'avance