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 :

JSF et Tableau un peu plus complexe que la norme!


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 43
    Points : 43
    Points
    43
    Par défaut JSF et Tableau un peu plus complexe que la norme!
    bonjour à tous.

    Voilà ma question, qui, me semble-t-il, pourrait intéresser du monde.

    J'ai un tableau simple de départ:

    CODE JAVA:
    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
    dataTableModel = UtilIhm.LinkRequest(dataTableModel, query, new String[] { "FIELD1", "FIELD2"}, getSessionBean1().getConnection(), null);
        		// Application des styles graphiques à la dataTable
                dataTable = UtilIhm.setDataTableStyles(dataTable, "dataPostit",
                "headerData", "actionData, entryData, entryData");
     
               // Colonne FIELD1: on recherche le libellé, puis l'on alimente la colonne avec son entête
                FacesContext context = FacesContext.getCurrentInstance();
                String field1 = UtilIhm.getMessageResourceString(context.getApplication().getMessageBundle(),"Association_PC_Extension_Poste_Table", null, context.getViewRoot().getLocale());
                dataTable =
                UtilIhm.addDataColumn("#{currentRow['FIELD1']}", "libellePoste",
                "libellePosteText", "headerLibellePoste", ls_poste, dataTable);
    // même système pour le field2, donc j'omets de le mettre ici
     
    //puis une colonne à "outils"
                // Colonne ACTIONS*/
                HtmlOutputText headerAction = new HtmlOutputText();
                headerAction.setId("headerAction");
                headerAction.setValue(new String("PC"));
                actionsColumn.setHeader(headerAction);
    Ce qui me donne, en sortie, un tableau "simple" format JSF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    						<h:dataTable binding="#{Extension.dataTable}" id="dataTable" value="#{Extension.dataTableModel}" var="currentRow" rowClasses=",alt">
    				        	<h:column id="actions" binding="#{Extension.actionsColumn}">
    								<h:commandLink binding="#{Extension.editLinkPoste}" action="#{Extension.editRow}">
    									<h:graphicImage url="img/icons/ico_modify.png" styleClass="rollover" title="#{bundle.Application_Editer}"/> 
    									<f:param name="rowId" value="#{currentRow['POS_N_ID']}"/>
    									<f:param name="pos_c_poste" value="#{currentRow['POS_C_POSTE']}"/>	
    									<f:param name="pos_c_extension" value="#{currentRow['POS_C_EXTENSION']}"/>
    								</h:commandLink>
    								<h:outputText value="#{currentRow['POS_C_POSTE']}"/>
    								</h:column>
    				        </h:dataTable>
    On obtient un tableau du genre
    [pc][FIELD1][FIELD2]
    xx Valeur Valeur2
    xx Valeur3 valeur4

    C'est à dire que xx est l'icone d'un lien présente dans la jsf (commandLink binding).
    Mon souci, c'est que je dois dorénavant obtenir un truc plus "riche", à savoir que le xx et la valeur1 doivent être sous un seul et même entête de tableau, et là, je coince sévèrement.

    Comment faire en sorte que pour une colonne concaténant un lien (commandLink binding) et une valeur du tableau dynamique ({currentRow['POS_C_EXTENSION']}) on ait un entête?

    par exemple:

    [pc] [FIELD2]
    xx Valeur Valeur2
    xx Valeur3 valeur4
    Par avance 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 : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Hello,

    J'avoue que je n'ai pas trop compris ta question

    Tu as ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    +---------+---------+---------+
    |    pc   | Field_1 | Field_2 |
    +---------+---------+---------+
    | (icone) | value_1 | value_2 |
    | (icone) | value_3 | value_4 |
    +---------+---------+---------+
    et tu voudrais avoir ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    +-----------------+---------+
    |        pc       | Field_2 |
    +-----------------+---------+
    | (icone) value_1 | value_2 |
    | (icone) value_3 | value_4 |
    +-----------------+---------+
    ?

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 43
    Points : 43
    Points
    43
    Par défaut
    Exactement!


    Je me dépatouillerai pour les autres colonnes (car il y en a plusieurs qui doivent prendre ce format avec un bouton/icone dédié).

    Je reprécise, au cas où:
    - La liste des valeurs provient d'un bean
    - Le link (icone) est également généré via le commandlink

    Et c'est très exactement le changement que tu me présentes que je désire.

    J'ai "réussi" à construire les colonnes, mais sans les entêtes (pas trop difficiles, en collant des balises column et les champs en explicite). Mais je préfèrerai le faire de manière dynamique.

  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 : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Difficile de t'aider sur ton code Java, vu que tu utilises des classes personnalisées (ta classe UtilIhm). Mais en gros, pour définir l'entête d'une colonne, il suffit de faire :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <h:column>
        <f:facet name="header">
            <h:outputText value="Nom de l'entete"/>
        </f:facet>
        // Ici le contenu de chaque cellule.
    </h:column>

    Les UIComponentBase (classe héritée par tous les composants JSF) disposent de méthodes d'accès aux facets. Si tu veux ajouter un facet en Java, il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HtmlOutputText txt = new HtmlOutputText();
    txt.setValue("nom de l'entete");
    maColonne.getFacets().put("header", txt);

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 43
    Points : 43
    Points
    43
    Par défaut
    Je teste ça sur le champ!

    Merci du coup de main.

    PS: pour la classe perso, ce sont juste des méthodes employées pour ne pas refaire à chaque fois l'ajout des données dans les colonnes.

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

Discussions similaires

  1. Inno setup, un peu plus loins que la faq
    Par enzo68290 dans le forum Outils
    Réponses: 8
    Dernier message: 07/02/2012, 17h47
  2. Client SOAP et passages de parametres un peu plus complexe
    Par atrhacker dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 09/03/2011, 16h13
  3. finialisation projet (boutons) et exécutable un peu plus complexe
    Par angioedema dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/07/2010, 23h24
  4. un tableau plus large que la fenêtre.
    Par maniaco_jazz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 04/12/2005, 23h25
  5. [SQL] requetes inbriquées un peu plus complexe.
    Par Devil666 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/05/2005, 11h06

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