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][2] : afficher une table, dynamiquement


Sujet :

NetBeans Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut [SJSC][2] : afficher une table, dynamiquement
    Bonjour,

    Je débute dans JSC2, que je trouve plutôt bien réussi, au passage.

    Ce que je souhaite faire ne semble pas bien compliqué, mais je ne sais pas comment faire : je veux simplement afficher une table dynamiquement, avec les boutons de contrôle comme sur l'image ci-dessous :



    En gros, sur ma page j'ai une Listbox contenant toutes les tables de ma base de données, et lorsque je sélectionne une table dans la liste, je voudrais afficher la table, tout simplement...le problème, c'est que mes tables ont un nombre de colonnes différent, il faudrait donc que je génère dynamiquement les colonnes, les boutons de contrôle etc., en fonction de la table, et ça, je sais pas comment faire

    (J'arrive quand même à afficher une table de façon "statique")

    Si quelqu'un a une piste, il est le bienvenu

    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
    J'ai déjà fais des manips dans ce genre, mais je rajouttais des images et non des tables, mais la mécanique doit être la même.

    Commence par faire simple: afficher dynamiquement une table fixe, sans ton dropdown. Dans une page blanche, tu déposes un tableau que tu remplis avec un rowset de manière tout à fait classique. Tu mets en page exactement comme tu veux, tu exécutes pour tester.

    Maintenant, tu passes en mode jsp, tu repères tes éléments ui:tableColumn tu les copies et tu les mets de côté. En repassant en mode design, efface toutes les colonnes de ta table.

    Maintenant, passe en mode java, tu recréé tous tes éléments, tu initialises depuis java les paramétres qui étaient dans le jsp:
    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
            // Création colonne 1
            TableColumn tableColumnA = new TableColumn();
            tableColumnA.setId(idA);
            tableColumnA.setHeaderText(headerTextA);
            tableColumnA.setSort(sortA);
     
            // Création valeurs pour colonnes 1
            StaticText staticTextA = new StaticText();
            staticTextA.setId(idStaticA);
            staticTextA.setText("#{currentRow.value['COLUMN_NAME']}");
     
            // Ajout du StaticText à la colonne
            tableColumnA.getChildren().add(staticTextA);
     
            // ... toutes les colonnes
     
            // ajout des colonnes à la table
            tableRowGroup1.getChildren().add(tableColumnA);
    Evidemment il reste pas mal de petites choses à faire, comme déterminer le nb de colonnes, retrouver leur nom, rajouter ton dropdown, modifier ton rowset dynamiquement avec la méthode setCommand("ma nouvelle requete SQL") etc.

    La clef est de réaliser que chaque objet que tu déposes dans le JSP, ainsi que chacun de leurs paramétres, est accessible et peut être créé depuis ton backing bean, et que tu peux rajouter n'importe quoi à un container (tous les beans qui implémentent la methode getChilder() ).

    Bonne chance!

    Valère

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup !

    Tout le reste : récupérer le nombre de colonnes, leurs noms, changer la requête, je sais faire, mais en fait mon problème est pour créer les objets (TableColumn, StaticText) dynamiquement dans une boucle, je ne vois pas trop comment faire. Et aussi, dois-je créer les "get" et "set" ? est-ce utile pour le jsp ?

    En fait, comment générer dynamiquement n fois ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        private TableColumn tableColumn2 = new TableColumn();
     
        public TableColumn getTableColumn2() {
            return tableColumn2;
        }
     
        public void setTableColumn2(TableColumn tc) {
            this.tableColumn2 = tc;
        }
    ?

    Merci encore et désolé, je débute sous Java Sun Creator 2

  4. #4
    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
    Ces getters et setters ne sont absolument pas indispensables, ce sont des commodités. Si tu as besoin, depuis un élément extérieur à ton backingBean, d'accéder à une colonne en particulier, tu peux utiliser getTableRowGroup1.getChildren() qui te retourne une liste de TableColumn. Tu n'as pas besoin on plus de systématiquement créer tes composants dans la partie du code qui est pliée par défaut (Creator-managed Component Definition).

    En fait, à la reflection tu as besoin uniquement de créer un objet TableColumn et un StaticText:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        RowSetMetaData rowSetMetaData =  getSessionBean1().getMyRowSet().getMetaData();
        int nbColumn = rowSetMetaData.getColumnCount();
        for (int i = 1; i <= nbColumn; i++) {
            TableColumn tableColumn = new TableColumn();
            StaticText staticText = new StaticText();
     
            // ... seting arguments for components - see 2 posts higher
     
            tableColumn.getChildren().add(staticText);
            tableRowGroup1.getChildren().add(tableColumn);
        }
    Valère

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Merci encore ! en fait, j'avais pas eu le temps de me remettre dessus.

    Bon, j'ai remplace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     RowSetMetaData rowSetMetaData = getSessionBean1().getMyRowSet().getMetaData();
     
    par :
     
            ResultSetMetaData res;
            res   =  getSessionBean1().getcustomRowSet().getMetaData();
    mais je comprends pas en fait comment les columns se remplissent...je pensais devoir faire un while(!resultSet.end) etc. mais non, c'est transparent...

    Enfin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    staticTextA.setText("#{currentRow.value['COLUMN_NAME']}");
    ne marche pas, je remplace bien sur COLUMN_NAME (on peut le faire par l'index aussi), mais je n'arrive pas a recuperer : "currentRow"

    Merci encore
    et desole, pas d'accent car clavier qwerty

  6. #6
    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
    Citation Envoyé par Olive49
    Enfin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    staticTextA.setText("#{currentRow.value['COLUMN_NAME']}");
    ne marche pas, je remplace bien sur COLUMN_NAME (on peut le faire par l'index aussi), mais je n'arrive pas a recuperer : "currentRow"

    Merci encore
    Je ne devais pas être en forme ce jour là. Essaie plutôt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    staticTextA.setText((String) getValue("#{currentRow['COLUMN_NAME']}"));
    Valère

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Merci encore, mais ca ne marche toujours pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    staticText.setText((String) getValue("#{currentRow['Number']}"));
    ma table a bien le nombre de colonnes souhaitees, c'est deja ca, mais mes colonnes sont vides.

    Je fais du php, ruby, C++ QT, et j'ai fait pas mal de Java (mais java "classique") "a l'epoque", mais la je seche...je comprends pas du tout comment ca marche, tout est transparent et l'aide java est, comment dire...vraiment pauvre et les quelques tutoriels SJSC ne traitent que des exemples simples, statiques.


    Voici mes 3 pauvres lignes de code :

    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
     
            customDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)getValue("#{SessionBean1.customRowSet}"));
     
            ResultSetMetaData res;
            res   =  getSessionBean1().getcustomRowSet().getMetaData();
     
            int nbColumn = res.getColumnCount();
            int tot = customDataProvider.getRowCount();
            int test = 0;
     
            for (int i = 0; i < nbColumn; i++)
            {
                TableColumn tableColumn = new TableColumn();
                StaticText staticText = new StaticText();
                staticText.setText((String) getValue("#{currentRow['Number']}"));
                tableColumn.getChildren().add(staticText);
                tableRowGroup1.getChildren().add(tableColumn);
                test = test + 1;
            }
    C'est vraiment frustrant...

    Un dernier truc : #{currentRow['Number']}") est un bind, c'est ca ? si c'est ca, je ne les ai pas specifies avant donc ca peut pas marcher...y a t-il des modifs a faire dans le jsp aussi

    Merci encore de repondre a un pauvre "noob" de SJSC

  8. #8
    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
    Excuse moi, j'ai vraiment du mal .

    Alors en fait, en relisant tout le sujet, a priori la valeur précédente était bonne, j'étais à côté de la plaque dans mon post précédent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    staticTextA.setText("#{currentRow.value['COLUMN_NAME']}");
    Celà correspond exactement à ce qu'on trouve dans l'attribut "text" des composants "ui:staticText" lorsqu'on remplit un tableau de la manière classique en DnD.

    Donc essaie avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                ResultSetMetaData res;
                res   =  getSessionBean1().getcustomRowSet().getMetaData();
     
                int nbColumn = res.getColumnCount();
     
                for (int i = 0; i < nbColumn; i++)
                {
                    TableColumn tableColumn = new TableColumn();
                    StaticText staticText = new StaticText();
                    String textValue = "#{currentRow['" + res.getColumnName(i+1) + "']}";
                    staticText.setText(textValue);
                    tableColumn.getChildren().add(staticText);
                    tableRowGroup1.getChildren().add(tableColumn);
                }

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Merci de persister mais ca ne marche toujours pas mes colonnes sont vides.

    J'ai remplace ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    staticText.setText((String)getValue(textValue));
    par rapport a ton code, mais ca ne fonctionne toujours pas.

    J'ai verifie, je recupere bien le nom de mes 2 colonnes 'ID' et 'Number', mais le getValue(textValue) ne renvoie rien

    Ce code se trouve dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private void _init() throws Exception {
    de ma page1.java, c'est bien ca ?

  10. #10
    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
    Je ne pense pas que ce soit l'endroit ideal. Essaie de le mettre dans init() (et non _init() ) ou déplace le dans prerender().

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Merci mais meme resultat

  12. #12
    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
    Bon ben je suis sec là

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Tu m'etonnes tu as Ze boulet du SJSC devant toi, la

    Bon, si je remplace par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     String textValue = "#{currerrrrrrrrrrrrrrrrrrrrrrrntRow['" + res.getColumnName(i+1) + "']}";
    Ca me fait pareil, une table avec des cases vides, mais pas d'exception, c'est donc que le getValue(currentRow...) n'est absolument pas pris en compte...

    Il n'y rien a faire de particulier dans le JSP ?

    Voila a quoi ca ressemble :




    Est-ce que ca te parait ok ? (la query est bonne, le nombre de lignes et de colonnes sont ok)

  14. #14
    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
    C'est bizarre, je suis en train de faire la manip, je n'ai pas le même résultat que toi:

    1. je crée un projet
    2. je dépose une table
    3. je DnD la table Travel.Person de la DB exemple fournie avec NB.
    4. click droit sur le tableau | table layout | je supprime toutes les colonnes sauf une (sinon creator nous embète)
    5. La dernière colonne, je la passe en visible: false
    6. Dans init() je dépose:
      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
              try {
                  ResultSetMetaData res;
                  res   =  getSessionBean1().getPersonRowSet().getMetaData();
       
                  int nbColumn = res.getColumnCount();
       
                  for (int i = 0; i < nbColumn; i++) {
                      TableColumn tableColumn = new TableColumn();
                      StaticText staticText = new StaticText();
                      String textValue = "#{currentRow.value['" + res.getTableName(i+1) + "." + res.getColumnName(i+1) + "']}";
                      staticText.setValue(textValue);
       
                      tableColumn.getChildren().add(staticText);
                      tableRowGroup1.getChildren().add(tableColumn);
                  }
              } catch (SQLException sqle) {
                  log("Error setting columns: " + sqle.toString());
              }
    7. J'obtient ça:
    Tout se passe comme si l'expression n'était pas évaluée.

    Je ne puis désormais que te rediriger vers le forum en anglais de Creator.

    Si jamais tu trouves la solution, poste là ici STP!

    Bonne chance!

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Merci mais tu as encore oublie le getValue

    de
    staticText.setValue((String)getValue(textValue));

    EDIT : bon, j'ai refait un projet, comme tu as fait, mais en mettant le getValue, toujours aucun resultat

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Hello,

    Ca y est, j'ai enfin trouve

    Voici comment : tout d'abord j'ajoute juste un gridPanel sur ma page

    dans mon page1.java :

    je rajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private String tableName;
    et dans mon _init :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            tableName = "myDB.dbo.myTable";
            //(le .dbo, owner de la table, est tres IMPORTANT)
     
           //ensuite je renseigne tout ce dont le RowSet a besoin 
     
            getSessionBean1().getTripRowSet().setDataSourceName("java:comp/env/jdbc/myDB");
            getSessionBean1().getTripRowSet().setCommand("SELECT "+tableName+".* from "+tableName);
            getSessionBean1().getTripRowSet().setTableName(tableName);
            getSessionBean1().getTripRowSet().setUsername("sa");
            getSessionBean1().getTripRowSet().setPassword("teregardepas");
     
            customDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)getValue("#{SessionBean1.customRowSet}"));
    et ensuite, ma fonction :

    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
     
        private Table createTable() {
            //Create the Table Dynamically
            table.setId("table1");
            table.setTitle("Dynamically Created Table");
            table.setPaginateButton(true);
            table.setPaginationControls(true);
     
            // Create the Table Row group dynamically
            rowGroup.setId("rowGroup1");
            rowGroup.setSourceVar("currentRow");
            rowGroup.setValueBinding("sourceData", getApplication().createValueBinding("#{Page1.customDataProvider}"));
            rowGroup.setRows(20);
     
            // Add the table row group to the table as a child
            table.getChildren().add(rowGroup);
     
            try {
                ResultSetMetaData res;
                res   =  getSessionBean1().getcustomRowSet().getMetaData();
                int nbColumn = res.getColumnCount();
     
                for (int i = 0; i < nbColumn; i++) {
                    // Create all columns
                    TableColumn tableColumn = new TableColumn();
                    tableColumn.setId("tableColumn"+String.valueOf(i+1));
                    tableColumn.setSort(res.getColumnName(i+1));
                    tableColumn.setHeaderText(res.getColumnName(i+1));                
     
                    rowGroup.getChildren().add(tableColumn);
     
                    StaticText staticText = new StaticText();
                    staticText.setValueBinding("text", getApplication().createValueBinding("#{currentRow.value['"+tableName+"."+res.getColumnName(i+1)+"']}"));
     
                    tableColumn.getChildren().add(staticText);
                }            
     
     
            } catch (SQLException sqle) {
                log("Error setting columns: " + sqle.toString());
            }           
     
            return table;
        }
    et enfin :

    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
     
        private HtmlPanelGrid gridPanel1 = new HtmlPanelGrid();
     
        public HtmlPanelGrid getGridPanel1() {
            // Add the dynamically created table to the grid panel
            Table dynamicTable =  createTable();
            gridPanel1.getChildren().add(dynamicTable);
            return gridPanel1;
        }
     
        public void setGridPanel1(HtmlPanelGrid hpg) {
            this.gridPanel1 = hpg;
        }
     
        // </editor-fold>
        private Table table = new Table();
        private TableRowGroup rowGroup = new TableRowGroup();
    Cette page m'a beaucoup aide : http://blogs.sun.com/roller/page/win..._dynamic_table

    Voila, je suis heureux et j'espere que ca pourra en aider plus d'un

  17. #17
    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
    Merci pour avoir posté la solution!

    Au lieu de vouloir réinventer la roue, il faut s'adresser aux experts.

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Merci encore, au fait, de m'avoir guide vers le forum English de SJC2.

    Par contre, un truc dont je viens de me rendre compte : dans mon sessionBean1.java, j'avais oublie d'enlever :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            customRowSet.setDataSourceName("java:comp/env/jdbc/myDB");
            customRowSet.setCommand("SELECT * FROM Numbers");
            customRowSet.setTableName("Numbers");
            customRowSet.setUsername("sa");
            customRowSet.setPassword("teregardepas");
    Car ca me parait inutile, vu que dans mon Page1.java j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            tableName = "myDB.dbo.myTable";
            //(le .dbo, owner de la table, est tres IMPORTANT)
     
           //ensuite je renseigne tout ce dont le RowSet a besoin 
     
            getSessionBean1().getCustomRowSet().setDataSourceName("java:comp/env/jdbc/myDB");
            getSessionBean1().getCustomRowSet().setCommand("SELECT "+tableName+".* from "+tableName);
            getSessionBean1().getCustomRowSet().setTableName(tableName);
            getSessionBean1().getCustomRowSet().setUsername("sa");
            getSessionBean1().getCustomRowSet().setPassword("teregardepas");
     
            customDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)getValue("#{SessionBean1.customRowSet}"));
    Le probleme c'est que si je vire les lignes "customRowSet.setDataSourceName (..." de mon sessionBean1, ca ne marche plus, Exception Handler...

    Donc je ne sais pas comment faire pour personnaliser mon "customRowSet" depuis la page principale Page1.jsp. Puis-je le faire depuis le sessionBean1 ? si oui, comment ?
    Qui est execute en premier ? le sessionBean1.java ? ou le Page1.java ? et aussi, qui est execute en premier entre le constructeur et la fonction _init() ?

    Merci.

  19. #19
    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
    Je suis perdu entre tripRowSet et customRowSet, tu n'as pas une erreur de copier coller?

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par valered
    Je suis perdu entre tripRowSet et customRowSet, tu n'as pas une erreur de copier coller?
    Ha oui, exact, j'ai rectifie, merci

    En fait ma question est plus simple : comment passer des parametres dans le sessionBean ?

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Afficher les données d'une table dynamique
    Par pseudo88 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/04/2010, 15h02
  2. Réponses: 5
    Dernier message: 25/07/2005, 14h03
  3. [C#] creer et afficher une table en code behind
    Par shams dans le forum ASP.NET
    Réponses: 9
    Dernier message: 13/07/2005, 16h51
  4. [VB.NET] Afficher une image dynamiquement
    Par Sadneth dans le forum ASP.NET
    Réponses: 20
    Dernier message: 07/01/2005, 16h26
  5. input ds une table dynamique
    Par mamouna dans le forum ASP
    Réponses: 32
    Dernier message: 30/06/2004, 18h12

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