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

  1. #1
    Membre régulier
    Inscrit en
    mai 2003
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : mai 2003
    Messages : 308
    Points : 82
    Points
    82

    Par défaut [Jdeveloper 12c] Récupérer les données d'une view à travers un bean

    Bonjour. J'ai un object view entet base sur plusieurs tables dont le 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    import oracle.adf.share.ADFContext;
     
    import oracle.dfw.impl.common.SecurityContext;
     
    import oracle.jbo.server.ViewObjectImpl;
    // ---------------------------------------------------------------------
    // ---    File generated by Oracle ADF Business Components Design Time.
    // ---    Wed Aug 21 15:26:13 GMT 2013
    // ---    Custom code may be added to this class.
    // ---    Warning: Do not modify method signatures of generated methods.
    // ---------------------------------------------------------------------
    public class EnteteImpl extends ViewObjectImpl {
        /**
         * This is the default constructor (do not remove).
         */
        public EnteteImpl() {
        }
     
        /**
         * Returns the bind variable value for p_user.
         * @return bind variable value for p_user
         */
        public String getp_user() {
            //return (String) getNamedWhereClauseParam("p_user");
            //We want this bind variable to return user name from the security context:
            //SecurityContext securityContext = ADFContext.getCurrent().getSecurityContext();
            //String userName = securityContext.gestUserName();
            String _currentUser = ADFContext.getCurrent().getSecurityContext().getUserName(); 
            return _currentUser;
        }
     
        /**
         * Sets <code>value</code> for bind variable p_user.
         * @param value value to bind as p_user
         */
        public void setp_user(String value) {
            setNamedWhereClauseParam("p_user", value);
        }
    }
    Et je veux à travers une classe java accéder aux attributs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        public void findData(){
            ViewObject view = (ViewObject) Utilities.getApplicationModule().findViewObject("Entete1"); 
            view.setNamedWhereClauseParam("p_user",Utilities.getCurrentUser());  
            view.executeQuery();
            //Row row = view.first();
            EnteteImpl row = (EnteteImpl)view.first();
            this._username = (String)row.getAttribute(arg0)
        }
    Le code mis en gras ne m'affiche uniquement getp_user() alors que dans la vue j'ai des champs comme poste,service, etc.. auquel je veux accéder
    Merci

  2. #2
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622

    Par défaut

    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EnteteImpl row = (EnteteImpl)view.first();
    Déjà tu fais à mon avis une grosse erreur de compréhension. Une ViewObject ne représente en aucun cas la ligne courante. Une ViewObject est en quelque sorte un modèle qui définie la structure de ta vue. Cette vue peut se baser sur une ou plusieurs entités ou alors peut être créé de façon programmatique.

    Donc cette ligne n'a pas raison d'être car EnteteImpl n'est pas une Row. Tu devrais avoir une classe du type EnteteViewRowImpl (ou alors utiliser une classe de base) qui elle représente effectivement une ligne et contiendra les accesseurs sur tes attributs.

    Je te conseille de regarder ce schéma pour mieux comprendre (il est juste au début).


    Cdt.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/09/2006, 14h41
  2. récupérer les données d'une fenetre
    Par snoopo dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 23/06/2006, 17h23
  3. Réponses: 15
    Dernier message: 20/06/2006, 10h29
  4. Récupérer les données après une recherche
    Par cdumas dans le forum Access
    Réponses: 7
    Dernier message: 04/05/2006, 12h09
  5. Récupérer les données d'une iframe
    Par juli1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/02/2005, 22h53

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