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 :

Tableau - Positionnement


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut Tableau - Positionnement
    Bonjour,

    J'utilise JSF avec un composant "table" via NetBeans.

    Ce que je cherche à faire : lors de l'ajout d'une nouvelle ligne, me positionner en fin de tableau automatiquement.

    Ci-dessous le code pour ajouter une nouvelle ligne en fin de tableau :

    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
     
        public String butAjouter_action() {
            try
            {
                Compte nouveau = new Compte();            
                nouveau.setCUserCreation(new String(getSessionBean1().getUtilisateur().getNom()));
                nouveau.setDDateCreation(new Date());
                nouveau.setCUserModification(new String(getSessionBean1().getUtilisateur().getNom()));
                nouveau.setDDateModification(new Date());        
                getSessionBean1().getCompteDataProvider().getList().add(nouveau);
                getSessionBean1().getCompteDataProvider().cursorLast();
                getSessionBean1().setCompteDataProvider(getSessionBean1().getCompteDataProvider());            
            }
            catch(Exception ex)
            {
                log("administration.jsp (compte) : Ajouter Compte", ex);
                FacesContext context = FacesContext.getCurrentInstance();
                FacesMessage msg = JSFMessageHelper.getNewMessage(
                FacesMessage.SEVERITY_ERROR,
                "comptes.compte.ajout",
                null);
                context.addMessage(null,msg);
     
            }
            return null;
        }
    Or le problème de ce code c'est que cela m'ajoute bien une ligne mais je ne peux pas voir la ligne : car elle est en fin de tableau. J'ai en effet en bas de mon tableau des boutons de navigation et je suis obligé donc de faire :

    * Ajouter une ligne (bouton)
    * Me placer en fin de tableau (en appuyant sur le bouton de navigation)

    Je cherche donc à supprimer cette dernière étape.

    Avez-vous des idées ?

    Merci pour toute information complémentaire.

  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
    Je ne connais pas le composant table que tu utilises, mais je sais que sur le datatable de base (le <h:datatable>), tu peux faire ça en Java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HtmlDataTable table = FacesContext.getCurrentInstance().getViewRoot().findComponent("...");
    table.setFirst(x);
    x est l'index du premier élément à afficher.
    Par exemple, si ta table affiche 5 éléments par page (rows="5") et que tu souhaites afficher la 2e page, il te suffit de faire un setFirst(5) et la 2e page sera affichée par défaut.
    Cela revient au même que de faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <h:datatable rows="5" first="5" ...>
        ...
    J'imagine que ceci doit aussi marcher pour la datatable de NetBeans...
    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 éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut
    OK merci en procédant avec le code ci-dessous cela a fonctionné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    this.tableRowGroup1.setFirst(this.tableRowGroup1.getRowCount());
    ...
    En fait, il faut raisonner sur le tablerowgroup et cela a marché.

    Merci en tout cas pour la piste.

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

Discussions similaires

  1. Positionner un calque dans un tableau
    Par loan33 dans le forum Mise en page CSS
    Réponses: 15
    Dernier message: 29/10/2006, 17h04
  2. positionner tableau dans conteneur
    Par Mike35 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/09/2006, 13h52
  3. Positionner des éléments dans une cellule de tableau
    Par Rémy29 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 31/07/2006, 17h33
  4. [ImageMagick] Positionner des intervalles dans un tableau
    Par myomyo dans le forum Bibliothèques et frameworks
    Réponses: 98
    Dernier message: 22/05/2006, 10h48
  5. Positionner un tableau scrollable
    Par bodbod dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/01/2005, 19h50

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