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] erreur Datatable imbriquées avec rowSelection : DataModel must implement org.primefaces.model.Se


Sujet :

JSF Java

  1. #1
    Membre habitué
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Points : 168
    Points
    168
    Par défaut [PrimeFaces] erreur Datatable imbriquées avec rowSelection : DataModel must implement org.primefaces.model.Se
    Bonjour,

    J'ai 2 dataTable d'imbriqués dont la 2nd avec un RowSelection multiple. mais j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    13:52:01,662 SEVERE [fr.convergence.util.CustomExceptionHandler] (default task-34) Erreur non gérée par l'application détectée: javax.faces.FacesException: DataModel must implement org.primefaces.model.SelectableDataModel when selection is enabled.
        at org.primefaces.component.datatable.DataTable.getRowKeyFromModel(DataTable.java:1068) [primefaces-5.1.jar:5.1]
        at org.primefaces.component.datatable.DataTableRenderer.encodeRow(DataTableRenderer.java:884) [primefaces-5.1.jar:5.1]
        at org.primefaces.component.datatable.DataTableRenderer.encodeRows(DataTableRenderer.java:830) [primefaces-5.1.jar:5.1]
        at org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:777) [primefaces-5.1.jar:5.1]
        at org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:740) [primefaces-5.1.jar:5.1]
        at org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:264) [primefaces-5.1.jar:5.1]
        at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:226) [primefaces-5.1.jar:5.1]
        at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:85) [primefaces-5.1.jar:5.1]
    ......
    mon 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
     
    <h:form id="formulaireGroupe">
                <p:dataTable id="Groupe" var="groupe" widgetVar="GroupeTable"
                    value="#{groupeBacking.listeGroupe}"
                    emptyMessage="Aucun groupe ne correspond aux critères"
                    editable="true"
                    styleClass="convergenceTable" editMode="cell">
                    <p:column headerText="Actions">
     
                        <p:commandButton
                            action="#{groupeControleur.dupliquerGroupeAction}"
                            id="iconeDuplicationGroupe" icon="ui-icon-disk"
                            title="Dupliquer la ligne" process="@this"
                            update=":formulaireGroupe">
                            <f:setPropertyActionListener value="#{groupe}"
                                target="#{groupeBacking.groupeSelectionnee}" />
                        </p:commandButton>
                        <p:commandButton
                            action="#{groupeControleur.supprimerGroupeAction}"
                            rendered="#{groupe.groupeNonUtilisee and !groupe.indicNational}"
                            id="iconeSuppressionGroupe" icon="ui-icon-disk"
                            title="Supprimer la ligne" process="@this"
                            update=":formulaireGroupe">
                            <f:setPropertyActionListener value="#{groupe}"
                                target="#{groupeBacking.groupeSelectionnee}" />
                        </p:commandButton>
                        <p:rowToggler />
                    </p:column>
                    <p:rowExpansion>
     
                 <p:dataTable var="ligne" id="listeDeResultatLignes"
                value="#{groupe.listeProduitLigne}" rowKey="#{ligne.idView}"
                styleClass="convergenceTable" paginator="true" rows="30"
                rowsPerPageTemplate="10,30,60" paginatorAlwaysVisible="false"
                border="1" draggableRows="true" selection="#{groupe.selectionLignes}"
                emptyMessage="Aucune ligne enregistrée"
                rendered="#{!ligneProduitControleur.filtrerLigneDeProduit(ligne)}">
                <p:ajax event="rowReorder"
                    listener="#{ligneProduitControleur.onRowReorder}"
                    update=":formulaireGroupe :msgDetailProduit" />
     
                 <p:column selectionMode="multiple"
                    style="width:16px;text-align:center" />
     
                <p:column headerText="Nature">
                    <h:outputText value="#{ligne.natureLigne.libelle}" />
                </p:column>
    </p:dataTable>
                    </p:rowExpansion>
              </p:dataTable>
    et mon bean (en partie)
    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
     
        protected List<ProduitLigneDto> selectionLignes;
     
        /**
         * Méthode Get de la variable selectionLignes.
         * @return List<ProduitLigneDto>
         */
        public List<ProduitLigneDto> getSelectionLignes() {
            return selectionLignes;
        }
     
        /**
         * Méthode Set de la variable selectionLignes.
         * @param selectionLignes 
         */
        public void setSelectionLignes(List<ProduitLigneDto> selectionLignes) {
            this.selectionLignes = selectionLignes;
        }
    D'ou provient mon erreur? lorsque j'enlève le rowSelection, mes tables fonctionnes parfaitement. PrimeFaces se prend t'il les pieds dans le tapis et ne sais pas identifier sur quel table il faut effectuer le rowSelection? Comment palier à cette erreur?

    Merci pour vos réponse.
    Tout à une fin, sauf le saucisson qui en as 2.
    -----------------

  2. #2
    Membre habitué
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Points : 168
    Points
    168
    Par défaut
    La nuit porte conseille : c'était un bête problème d'initialisation des variables, notamment idView.

    Conclusion : Je hais les Lundis.
    Tout à une fin, sauf le saucisson qui en as 2.
    -----------------

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Erreur SQL 1064 : Requête imbriquée avec jointure !
    Par patchankito dans le forum Langage SQL
    Réponses: 5
    Dernier message: 31/01/2006, 10h37
  2. Erreur ORA-12514 avec database link
    Par gafreu dans le forum Administration
    Réponses: 20
    Dernier message: 09/09/2004, 11h53
  3. Erreur sur IIS avec des cripts ASP
    Par Alin dans le forum ASP
    Réponses: 7
    Dernier message: 22/06/2004, 14h15
  4. erreur tcp/ip avec jdbc
    Par champion dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 03/04/2004, 14h32
  5. Erreur de sgmentation avec malloc
    Par simonm dans le forum C
    Réponses: 5
    Dernier message: 27/02/2003, 08h29

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