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 :

DataTable avec scroll


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 137
    Par défaut DataTable avec scroll
    Bonsoir,

    Je voudrais savoir comment ajouter un scroll vertical au composant dataTable.

    Merci

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    On ne peut pas faire ça simplement...
    J'ai 2 solutions à te proposer :

    1. Tu entoures toute la datatable par un DIV (<h:panelGroup layout="block" ...>) où tu définis (en CSS) une hauteur donnée, et un overflow: auto. Le problème, c'est que toute la datatable est scrollable, pas seulement le contenu (hors entête donc).

    2. Utiliser des composants particuliers qui le permettent, comme le scrollableDatatable de RichFaces.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Par défaut
    Bonjour, je suis sur le même problème.

    J'ai testé la méthode de mettre dans une div mon composant pour faire apparaitre le scroller mais sans trop de résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <h:panelGroup rendered="#{notificationHandler.notification}" id="notificationPanel"  
            layout="block" style="overflow: auto; height: 20px;">
        <rich:dataTable value="#{notificationHandler.dataModel}" var="notificationItem"   
                id="tableCourrier"
                width="100%" rows="10" columnClasses="columns,columns,columns" >
            <rich:column id="mylettranetNotificationDescription" width="400px">
                  <h:outputText value="#{notificationItem.description}" />
            </rich:column>
        </rich:dataTable>
    </h:panelGroup>
    mon tableau est bien plus grand que mon panelGroup (car il a 3 lignes) mais malgré tout, aucun scroller n'apparait.

    Je suis sous Firefox, je ne sais pas si ça a une incidence... si oui, comment faire ?

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    et avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    style="overflow: scroll; height: 20px;"

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Par défaut
    Merci pour cette réponse.

    Avec overflow: auto, les scrollbars Horizontal et Vertical s'affichent en permanence.

    J'ai réussi à limiter à la verticale en mettant overflow-y: scroll; mais cela ne répond pas entièrement à mon besoin car j'aurais aimé la voir disparaitre lorsqu'elle devient inutile.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 152
    Par défaut
    tu peux faire ceci (c'est un peu tordu mais ça devrait marcher):
    - déclarer 1 classe dans un fichier CSS avec overflow-y: scroll; (et d'autre chose si tu en as besoin)
    - dans l'attribut styleClass tu peux mettre quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    styleClass="#{monBean.condition==true ? maClassCss : '' }"

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Par défaut
    Tu as raison, c'est tordu.

    En fait dans ta solution, je retire la gestion du scrollbar de mon navigateur pour m'en occuper moi-même... pourquoi pas même si ça m'oblige à faire un traitement supplémentaire pour savoir quand je dois afficher ou non la scrollbar.

    Je l'implémenterais si aucune autre proposition plus simple n'a été présentée.

    En tout cas, tu m'auras appris qu'on peut faire des Conditionnelles en EL... ça je l'ignorais .

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 152
    Par défaut
    il me semble que cela est possible (en ce qui concerne l'opérateur ternaire) mais je n'en suis pas sûr à 100%, c'est à tester.
    Ce dont je suis sûr c'est que tu peux utiliser des conditions dans les attributs tels que rendered tu peux avoir par exemple #{monBean.maCondition == true}.

Discussions similaires

  1. DataTable avec des colonnes dynamiques
    Par PrinceDeLu dans le forum JSF
    Réponses: 5
    Dernier message: 15/04/2011, 10h54
  2. Pb déplacement d'image hors d'un Div avec scroll
    Par mdemo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 15h47
  3. <div id=contenu> hauteur variable avec scroll
    Par camyo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 21/03/2006, 11h01
  4. [VB.Net] Taille réelle d'un composant avec Scroll
    Par maitrebn dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/01/2006, 13h36
  5. Cadre avec scroll
    Par SnickeursMan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/12/2005, 02h06

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