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

NetBeans Java Discussion :

[Visual Web] [SJSC] Ajout de colonne dans un tableau


Sujet :

NetBeans Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut [SJSC] Ajout de colonne dans un tableau
    Bonjour,

    Je viens de créer un tableau lié à une table de ma base de donnée.
    Je souhaiterais rajouter une colonne, dont le contenu serait le résultat d'une requête dont un des arguments est une des cellules qui existe déjà.

    Comment faire ?

    merci

  2. #2
    Expert confirmé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Points : 4 740
    Points
    4 740
    Par défaut
    Tu peux faire une requête élaborée.

    View | outline | sessionBean1 | doubleclique sur ton rowset.

    Un éditeur SQL s'ouvre, dans la partie du haut tu fait click droit | add table, tu rajouttes ta table et tu fais ta jointure avec ta première table.

    Puis tu retournes sur ta page en mode JSP, click droit | table layout | new column et tu rajouttes la donnée que tu viens de créer dans ta requête SQL.

    Ca répond à ce que tu demandes?

    Bon WE

    Valère

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Merci de ta réactivité !

    En revanche, je pense que tu voulais dire en mode "conception" et non "JSP".

    Et, j'ai du mal poser ma question : dans la colonne rajouter je veux effectuer une nouvelle requete, et non faire une jointure.

    Cela devrait me permettre, par exemple, de mettre dans la cellule tous les résultats de la requête, séparés par une virgule.

    Merci, et bon week end egalement

    Vincent

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    D'après ce que j'ai lu sur http://blogs.sun.com/roller/page/win..._dynamic_table , j'ai l'impression que je suis obligé de créer dynamiquement ma table, et que je ne peux pas utiliser le code généré par Studio.

    En effet, j'ai essayé de modifier le getter du champ de la colonne rajouter, mais je ne peux pas accéder dans ce getter aux autres champs de ma ligne : apparemment, les getter sont utilisés pour établir le binding avec les éléments de la JSP AVANT l'exécution de la requête qui remplit le tableau...

    Je fais fausse route ?

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Ca y est, j'ai trouvé la solution :

    Dans mon JSP, je rajoute la colonne qui execute la nouvelle requete comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <ui:tableColumn binding="#{Page1.tableColumn9}" headerText="Colonne 9" id="tableColumn9">
        <ui:staticText binding="#{Page1.staticText8}" id="staticText8" text="#{Page1.dynCol}"/>
    </ui:tableColumn>
    et dans Page1, je crée un bean qui effectue cette requête :
    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
     
    private String dynCol = "";
     
        public void setDynCol(String dynCol)
        {
            this.dynCol = dynCol;
        }  
     
        public String getDynCol() {
            Long tIdSaisie = (Long) getValue("#{currentRow.value['liv_saisie.id_saisie']}")    ; 
            if (tIdSaisie == null)
                return new String("");
             try {
             Context ctx = new InitialContext();
                DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/MySQL");
                Connection conn=ds.getConnection();
                String tReq=    "SELECT DISTINCT liv_anomalie.id_anomalie FROM liv_anomalie WHERE  liv_anomalie.id_saisie = ? ORDER BY  liv_anomalie.id_anomalie   ";
                PreparedStatement st = conn.prepareStatement(tReq);
                st.setObject(1, tIdSaisie);
                ResultSet anoSet = st.executeQuery();
                String anos = "";
                if (anoSet.next()) {
                    anos = anoSet.getString(1);
                    while (anoSet.next()) {
                        anos = anos + "," + anoSet.getString(1);
                    }
                }
                st.clearParameters();
                st.close();
                conn.close();
                return anos; 
            } catch (NamingException tEx) {
                error("Impossible de consulter les anomalies : " +
                        tEx.getMessage());
                log("Impossible de consulter les anomalies : " +
                        tEx.getMessage());
                tEx.printStackTrace();
                return("Anomalies indisponibles");
            } catch (SQLException tEx) {
                error("Impossible de consulter les anomalies : " +
                        tEx.getMessage());
                log("Impossible de consulter les anomalies : " +
                        tEx.getMessage());
                return("Anomalies indisponibles");
            }
        }
    Voila !

    Si ça peut en aider certains...

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

Discussions similaires

  1. [CR XI] Ajout de colonne dans un tableau croisé
    Par imdnjaay dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 11/10/2013, 21h11
  2. [WD 14] Ajout Colonne dans un tableau !
    Par Grammaton54 dans le forum WinDev
    Réponses: 2
    Dernier message: 12/05/2009, 16h56
  3. Réponses: 1
    Dernier message: 12/12/2008, 18h06
  4. ajouter des lignes et colonnes dans un tableau
    Par sky88 dans le forum Débuter
    Réponses: 1
    Dernier message: 03/12/2008, 19h04
  5. Ajout de colonne dans un tableau
    Par steeves5 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/03/2008, 15h48

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