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 :

Rendu Partiel Datatable JSF


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut Rendu Partiel Datatable JSF
    Bonjour,
    Je bosse avec JDeveloper 10.1.3.3 et les extensions MyFaces et Tomahawk.
    J'ai actuellement deux datatables dans la page; un action listener sur la première qui, en cliquant sur un id, devrait afficher details dnas seconde. J'arrive a faire ca avec deux pages separées mais comment je pourrais faire ce rendu partiel sur une seule page ??

    merci de votre aide

  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
    Ce ne doit pas être très compliqué.

    Sur ta 1e table, ton actionListener va indiquer à un bean (MyBean) que c'est tel élément qui a été sélectionné. Suite à cela, ton bean va initialiser une liste (les éléments devant être listés dans la table 2).
    La 2e table listera les éléments contenus dans cette liste de MyBean. Initialement - si aucun élément de la table 1 a été sélectionné - la liste sera vide, donc la table vide (en jouant avec l'attribut rendered, tu peux ne pas l'afficher du tout si tu le veux).

    Le code de la 2e table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    <h:datatable value="#{myBean.recordsForElement}" rendered="#{!myBean.listEmpty}"...>
      ...
    Une partie (simplifiée) du code du 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
     
    public MyBean {
     
      private List myList;
     
      MyBean() {
        myList = new ArrayList();
      }
     
      public void selectItem(ActionEvent evt) {
        ...
        myList = getListForItem(selectedItem);
      }
     
      public List getRecordsForElement() {
        // La méthode retourne une liste vide si aucun élément n'est sélectionné.
        return myList;
      }
     
      public boolean isListEmpty() {
        return myList.isEmpty();
      }
    Suis-je assez clair ?
    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 averti
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut
    oui assez clair :-)
    voyons si je comprends clairement!j'essaie et je te re-demande si nécessaire.

    merci en tout cas

  4. #4
    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
    Pas de soucis.
    Si ça répond à tes besoins, pense à mettre Résolu
    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

  5. #5
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut
    j'ai quand meme un petit souci;
    je recupere avec un outputText sur la meme page l'attribut "ord" qui est dans la première Table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <h:outputText value="#{selectedItem_ordstate.ord}" binding="#{bkOrdState.out_ord}"
                            id="out_ord"/>
    selectedItem_ordstate est le backign bean de mon fichier .java qui construit la première table.
    Or dans la deuxième table je dois utiliser ce "ord" pour faire la requete SQL et
    je fais dans la methode de construction de la deuxième table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
               String tmpOut_ord = out_ord.getValue().toString();
                        Long out_ord = strToLong2(tmpOut_ord)
                        // recuperation de l'attribut
    .....fin de la requete : t.id_cc="+id_cc_stare+" and t.ord="+out_ord+""
    or quand je charge la page pour la première fois cet attribut n'existe pas car je n'ai appuyé sur aucune ligne de la table 1...
    j'ai alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.faces.FacesException: javax.servlet.ServletException: javax.faces.el.EvaluationException: Exception getting value of property list_state of base of type : appprj.backing.OrdState.......
    et le code début de la deuxième table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <t:dataTable id="data_state"
                           rowOnMouseOver="this.style.backgroundColor=\'#A5CBFF\'"
                           rowOnMouseOut="this.style.backgroundColor=\'#52c6ff\'"
                           rowOnClick="this.style.backgroundColor=\'#FFE0E0\'"
                           rowOnDblClick="this.style.backgroundColor=\'#E0E0E0\'"
                           rows="10" styleClass="text" value="#{bkOrdState.list_state}"
                           var="item2" cellspacing="0" cellpadding="2" width="30%"
                           rendered="#{!bkOrdState.listEmpty}"
                           >

  6. #6
    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 vois pas trop où se situe ton problème.

    Lorsque la page est chargée pour la 1e fois, il suffit que l'attribut list_state de ton bean bkOrdState retourne une liste vide.
    Tu n'as qu'à faire un test d'existence de la valeur de ord avant d'exécuter ta requête, non ?
    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

Discussions similaires

  1. ajouter ligne vide datatable jsf
    Par ang.net dans le forum JSF
    Réponses: 6
    Dernier message: 18/06/2009, 20h10
  2. Datatable JSF et SelectOneMenu Dépendants
    Par davidovitch dans le forum JSF
    Réponses: 2
    Dernier message: 24/03/2009, 14h10
  3. Petit problème avec rendu partiel
    Par Tazzz dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 14/01/2008, 08h21
  4. Calcul colonne DataTable JSF
    Par mihaestii dans le forum JSF
    Réponses: 6
    Dernier message: 09/08/2007, 16h15
  5. Réponses: 5
    Dernier message: 19/07/2007, 16h51

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