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 et colonnes cachées


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 403
    Par défaut Primefaces : Datatable et colonnes cachées
    Bonjour,

    J'utilise un datatable du framework primefaces. Celui-ci est composé de 19 colonnes, dont 5 ne sont pas directement visibles (il faut scroller horizontalement pour les voir).

    Mon problème : au chargement de la page, ou lorsque j'effectue une action qui nécessite le rafraîchissement du tableau comme trier ou filtrer, un flash écran se produit.

    Par contre, si je dimensionne les colonnes afin qu'elles soient toutes visibles sans scroller, il n'y a pas de flash ; mais dans ce cas, le contenu est illisible !

    Avez-vous une idée ?

    Merci pour votre aide.

    Voici la définition du 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
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
     
                        <p:dataTable id="idRefContributeur" widgetVar="widgetRefContributeur" var="contributeur" style="margin-left:-11px; margin-right:-11px; margin-top:-4px; margin-bottom:-10px"
                                     value="#{contributeurManagerBean.colContributeurFacade.listeColContributeur}" 
                                     rowKey="#{contributeur.idPk}"
                                     scrollable="true" scrollWidth="73%" frozenColumns="1"
                                     selectionMode="multiple"
                                     nullSortOrder="-1"
                                     editable="true" editMode="cell"
                                     resizableColumns="true" 
                                     paginator="true"
                                     paginatorPosition="bottom"
                                     paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {LignesParPage}"
                                     rows="#{contributeurManagerBean.refUtilisateurFacade.lignesPageTabContributeur}">
                            <f:facet name="header">
                                <p:outputLabel value="Liste des contributeurs" style="font-size:1.1em" class="bleu"/>
                            </f:facet>
                            <p:column style="width:224px">
                                <f:facet name="header">
                                    <p:commandLink actionListener="#{contributeurManagerBean.trierGroupe()}" update="idRefContributeur">
                                        <p:outputLabel id="idEnteteGroupe" value="Contributeur" style="margin-left:-45px"/>
                                        <pe:tooltip for="idEnteteGroupe" value="Trier" myPosition="right bottom" atPosition="left top"/>
                                    </p:commandLink>
                                    <p:commandLink actionListener="#{contributeurManagerBean.trierGroupe()}" update="idRefContributeur">
                                        <p:graphicImage id="idTriGroupe" value="#{contributeurManagerBean.triGroupePicto}" style="position:absolute; margin-left:7px"/>
                                        <pe:tooltip for="idTriGroupe" value="Trier" myPosition="right bottom" atPosition="right top" adjustX="-8" adjustY="-2"/>
                                    </p:commandLink>
                                    <p:commandLink onclick="#{contributeurManagerBean.sauvegarderInformationsContributeur()}" 
                                                   oncomplete="PF('widgetFiltreContributeur').show()">
                                        <p:graphicImage id="idFiltreApplique" value="images/#{contributeurManagerBean.filtreContributeurApplique}.png" 
                                                        class="#{contributeurManagerBean.filtreContributeurApplique}" width="20px" style="position:absolute; margin-left:25px"/>
                                        <pe:tooltip for="idFiltreApplique" value="Filtrer" myPosition="left bottom" atPosition="right top" adjustX="-3" adjustY="3"/>
                                    </p:commandLink>
                                    <p:commandLink actionListener="#{contributeurManagerBean.trierIntitule()}" update="idRefContributeur">
                                        <p:outputLabel id="idEnteteIntitule" value="Intitulé" style="margin-left:60px"/>
                                        <pe:tooltip for="idEnteteIntitule" value="Trier" myPosition="right bottom" atPosition="left top"/>
                                    </p:commandLink>
                                    <p:commandLink actionListener="#{contributeurManagerBean.trierIntitule()}" update="idRefContributeur">
                                        <p:graphicImage id="idTriIntitule" value="#{contributeurManagerBean.triIntitulePicto}" style="position:absolute; margin-left:7px"/>
                                        <pe:tooltip for="idTriIntitule" value="Trier" myPosition="right bottom" atPosition="right top" adjustX="-8" adjustY="-2"/>
                                    </p:commandLink>
                                    <p:commandLink onclick="#{contributeurManagerBean.sauvegarderInformationsContributeur()}" 
                                                   oncomplete="PF('widgetFiltreIntitule').show()">
                                        <p:graphicImage id="idFiltreAppliqueIntitule" value="images/#{contributeurManagerBean.filtreIntituleApplique}.png" 
                                                        class="#{contributeurManagerBean.filtreIntituleApplique}" width="20px" style="position:absolute; margin-left:25px"/>
                                        <pe:tooltip for="idFiltreAppliqueIntitule" value="Filtrer" myPosition="left bottom" atPosition="right top" adjustX="-3" adjustY="3"/>
                                    </p:commandLink>
                                </f:facet>
     
                                <p:fragment rendered="#{contributeur.type == 'GR'}">
                                    <div class="backgroundGrisMoyen ligneCadre">
                                        <p:commandLink id="idPlierDeplierGroupe" 
                                                       action="#{contributeurManagerBean.affichagePlierDeplierContributeur(contributeur)}"
                                                       update="idRefContributeur">
                                            <img src="images/#{contributeur.dossierPicto}.png" align="absmiddle" style="margin-top:-2px"/>
                                        </p:commandLink>
                                        <pe:tooltip  for="idPlierDeplierGroupe" value="Plier/déplier" myPosition="right bottom" atPosition="right top" adjustX="-12" adjustY="-2"/>
                                        <p:spacer width="6" height="0"/>
                                        <h:outputText value="#{contributeur.libelle}" class="grisFonce"
                                                      style="#{contributeurManagerBean.affichagePlierDeplierContributeurStyle(contributeur)}; font-weight:bold; margin-left:2px"/>
                                    </div>
                                </p:fragment>
                                <p:commandLink id="idDetailLigne" rendered="#{contributeur.type == 'L1' or contributeur.type == 'L2' or contributeur.type == 'L3'}" class="lienBleu" 
                                               action="#{contributeurManagerBean.afficherDetailLigne(contributeur)}"
                                               oncomplete="PF('widgetDetailLigne').show()"
                                               update="form">
                                    <h:outputText value="#{contributeur.libelle}" style="margin-left:15px"/>
                                </p:commandLink>
                                <pe:tooltip for="idDetailLigne" value="Détail de la ligne" myPosition="center left" atPosition="center right" adjustX="5"/>
                                <p:fragment rendered="#{contributeur.type == 'T1' or contributeur.type == 'T2'}">
                                    <div class="backgroundGrisClair ligneCadre bleu">
                                        <h:outputText value="#{contributeur.libelle}" style="margin-left:35px"/>
                                    </div>
                                </p:fragment>
                                <p:fragment rendered="#{contributeur.type == 'T3' or contributeur.type == 'T4'}">
                                    <div class="backgroundGrisMoyen ligneCadre bleu">
                                        <h:outputText value="#{contributeur.libelle}" style="margin-left:65px"/>
                                    </div>
                                </p:fragment>
                            </p:column>
     
                            <c:forEach items="#{contributeurManagerBean.listeColonneAnnee}" var="annee">
                                <p:column headerText="#{annee}" style="width:76px">
                                    <p:fragment rendered="#{contributeur.type == 'GR'}">
                                        <div class="backgroundGrisMoyen ligneCadre">
                                            <h:outputText value="&nbsp;"/>
                                        </div>
                                    </p:fragment>
                                    <p:cellEditor rendered="#{contributeur.type == 'L1' or contributeur.type == 'L2' or contributeur.type == 'L3'}">
                                        <f:facet name="output">
                                            <div align="right">
                                                <p:outputLabel value="#{contributeurManagerBean.rechercherMontantContributeur(contributeur, annee)}">
                                                    <f:convertNumber pattern="###,###,###,##0.00"/>
                                                </p:outputLabel>
                                                <p:outputLabel value="&nbsp;" rendered="#{contributeur.type == 'L2' and annee == contributeurManagerBean.premiereAnnee}"/>                                        
                                                <p:outputLabel value=" %" rendered="#{contributeur.type == 'L2' and annee != contributeurManagerBean.premiereAnnee}"/>
                                            </div>
                                        </f:facet>
                                        <f:facet name="input">
                                            <p:inputText value="#{contributeur.montant}" disabled="#{contributeur.type == 'L2'}" style="font-size: 0.85em">
                                                <f:convertNumber pattern="###,###,###,##0.00"/>
                                                <p:ajax event="blur" listener="#{contributeurManagerBean.modifierMontant(contributeur, annee)}" update="idRefContributeur"/>
                                            </p:inputText>
                                        </f:facet>
                                    </p:cellEditor>
                                    <p:fragment rendered="#{contributeur.type == 'T1'}">
                                        <div  align="right" class="backgroundGrisClair bleu" style="margin-top:-5px; margin-left:-10px; margin-right:-10px; margin-bottom:-5px; padding-left:10px; padding-top:5px; padding-bottom:3px">
                                            <h:outputText value="#{contributeurManagerBean.rechercherTotalContributeur(contributeur, annee)}" style="margin-right:10px">
                                                <f:convertNumber pattern="###,###,###,##0.00"/>
                                            </h:outputText>
                                        </div>
                                    </p:fragment>
                                    <p:fragment rendered="#{contributeur.type == 'T2'}">
                                        <div align="right" class="backgroundGrisClair bleu" style="margin-top:-5px; margin-left:-10px; margin-right:-10px; margin-bottom:-5px; padding-left:10px; padding-top:5px; padding-bottom:3px">
                                            <h:outputText value="#{contributeurManagerBean.rechercherTotalContributeur(contributeur, annee)}" style="margin-right:10px">
                                                <f:convertNumber pattern="###,###,###,##0.00 %"/>
                                            </h:outputText>
                                        </div>
                                    </p:fragment>
                                    <p:fragment rendered="#{contributeur.type == 'T3'}">
                                        <div align="right" class="backgroundGrisMoyen ligneCadre bleu">
                                            <h:outputText value="#{contributeurManagerBean.calculerMontantTotalGeneral(annee)}">
                                                <f:convertNumber pattern="###,###,###,##0.00"/>
                                            </h:outputText>
                                        </div>
                                    </p:fragment>
                                    <p:fragment rendered="#{contributeur.type == 'T4'}">
                                        <div align="right" class="backgroundGrisMoyen ligneCadre bleu">
                                            <h:outputText value="#{contributeurManagerBean.calculerTauxEvolutionTotalGeneral(annee)}">
                                                <f:convertNumber pattern="###,###,###,##0.00 %"/>
                                            </h:outputText>
                                            <p:outputLabel value="&nbsp;" rendered="#{annee == contributeurManagerBean.premiereAnnee}"/>
                                        </div>
                                    </p:fragment>
                                </p:column>
                            </c:forEach>
     
                            <f:facet name="{LignesParPage}">
                                <p:spinner id="idNombreLignes" widgetVar="spinnerNombreLignes" value="#{contributeurManagerBean.refUtilisateurFacade.lignesPageTabContributeur}" min="1" maxlength="3" size="1">
                                    <pe:tooltip for="idNombreLignes" value="Lignes par page" myPosition="left bottom" atPosition="right top"/>
                                    <p:ajax event="change" listener="#{contributeurManagerBean.enregistrerLignesPage()}" update="form" /> 
                                </p:spinner>
                            </f:facet>

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu as quelle version de Primefaces ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 403
    Par défaut
    Version 6.1

  4. #4
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 403
    Par défaut
    J'ai finalement trouvé la solution sur une autre discussion : encadrer le datatable de table, tr et td comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                    <table>
                        <tr>
                            <td>
                            <p:dataTable
    Et ça marche très bien.

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

Discussions similaires

  1. primefaces datatable avec colonnes dynamiques
    Par fayou89 dans le forum JSF
    Réponses: 0
    Dernier message: 17/04/2015, 15h15
  2. Réponses: 5
    Dernier message: 25/06/2012, 12h04
  3. DBGrid et colonne cachée
    Par ero-sennin dans le forum C++Builder
    Réponses: 2
    Dernier message: 06/06/2006, 14h50
  4. [JTable] avoir un champ (colonne) caché
    Par koolway dans le forum Composants
    Réponses: 8
    Dernier message: 24/04/2006, 16h04
  5. Réponses: 10
    Dernier message: 29/03/2006, 16h14

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