IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

[PrimeFaces] DataTable multiple sélection ne marche pas


Sujet :

JSF Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 59
    Points : 41
    Points
    41
    Par défaut [PrimeFaces] DataTable multiple sélection ne marche pas
    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

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    il te manque un rowKey dans ton dataTable

    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
    <p:dataTable id="multipleDT" var="car" value="#{dtSelectionView.cars4}" selectionMode="multiple" selection="#{dtSelectionView.selectedCars}" rowKey="#{car.id}">
            <f:facet name="header">
                Multiple with Meta and Shift keys
            </f:facet>
            <p:column headerText="Id">
                <h:outputText value="#{car.id}" />
            </p:column>
            <p:column headerText="Year">
                <h:outputText value="#{car.year}" />
            </p:column>
            <p:column headerText="Brand">
                <h:outputText value="#{car.brand}" />
            </p:column>
            <p:column headerText="Color">
                <h:outputText value="#{car.color}" />
            </p:column>
            <f:facet name="footer">
                <p:commandButton process="multipleDT" update=":form:multiCarDetail" icon="pi pi-search" value="View" oncomplete="PF('multiCarDialog').show()" />
            </f:facet>
        </p:dataTable>

Discussions similaires

  1. [PrimeFaces] dataTable qui ne s'affiche pas
    Par j_esti dans le forum JSF
    Réponses: 3
    Dernier message: 24/08/2013, 10h14
  2. Réponses: 2
    Dernier message: 21/12/2012, 11h28
  3. Multiplication qui ne marche pas
    Par QAYS dans le forum Langage
    Réponses: 1
    Dernier message: 20/08/2011, 22h29
  4. select multiple marche pas
    Par nebil dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/07/2008, 23h22
  5. fonction clic multiple ne marche pas !
    Par decksroy dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 06/10/2006, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo