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

GWT et Vaadin Java Discussion :

Portée des composants GXT


Sujet :

GWT et Vaadin Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    septembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Portée des composants GXT
    Bonjour,

    Je suis débutant en GWT , donc vous sera surement surpris par la stupidité de mon codage.

    Voilà , je veux mettre en place une grid GXT qui permet d'être personnalisé via un model , le probleme est que je veux charger mes données ( une table ) depuis la base de donnée via une methode qui comporte la requete, l'ors de l'appelle de cette methode (getAll() ) la liste des customers ( table ) est bien remplie car qu'on je fais un System.out.println() ça m'affiche une donnée d'un indice donné.

    Maintenant je veux affecter cette liste à ma grid, hors la grid n'est pas reconnu dans le Handler du boutton qui permet de charger les données , IntellijIDEA (l'IDE avec le quel je travaille me demande de mettre la Grid en Final , si je fais ça , alors je ne peux plus mettre le new ... bon je vous montre le code.

    à savoir que j'ai pensé à mettre le tous dans la methode de Handler mais si je veux mettre ' this.add(grd) ( grd = Grid ) et this c'est la classe qui hérite de LayoutContainer et qui comporte tous le traitement , mais si je met this il m'affiche une erreur comme quoi le this n'est pas reconnu au sein de la methode Handler .. que faire ! ne vous souciez pas du code qui permet de récuperer les données il est bien fonctionnel mais en revanche comment appliquer ceci à la grid .. voilà la classe qui traite tous ça :
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    public class CustomerGridPanel extends LayoutContainer
    {
     
        Grid<CustomersBean> m_grdPersonModel = null;
        ListStore<CustomersBean> m_lstPersonModel = null;
        Button m_btn = null;
     
        public CustomerGridPanel ()
        {
     
            final List<ColumnConfig> configs = new ArrayList<ColumnConfig> ();
     
            ColumnConfig column = new ColumnConfig ();
            column.setId ("Id");
            column.setHeader (KeysI.KSTR_CUSTOMER_ID_HEADER);
            column.setWidth (200);
            TextField<String> text = new TextField<String> ();
            text.setAllowBlank (false);
            column.setEditor (new CellEditor (text));
            configs.add (column);
     
            column = new ColumnConfig ();
            column.setId ("first");
            column.setHeader (KeysI.KSTR_CUSTOMER_FIRSTNAME_HEADER);
            column.setWidth (150);
            text = new TextField<String> ();
            text.setAllowBlank (false);
            column.setEditor (new CellEditor (text));
            configs.add (column);
     
            column = new ColumnConfig ();
            column.setId ("last");
            column.setHeader (KeysI.KSTR_CUSTOMER_LASTNAME_HEADER);
            column.setWidth (100);
            text = new TextField<String> ();
            text.setAllowBlank (false);
            column.setEditor (new CellEditor (text));
            configs.add (column);
     
            column = new ColumnConfig ();
            column.setId ("name");
            column.setHeader (KeysI.KSTR_CUSTOMER_NAME_HEADER);
            column.setWidth (100);
            text = new TextField<String> ();
            text.setAllowBlank (false);
            column.setEditor (new CellEditor (text));
            configs.add (column);
     
            column = new ColumnConfig ();
            column.setId ("phone");
            column.setHeader (KeysI.KSTR_CUSTOMER_PHONE_HEADER);
            column.setWidth (100);
            text = new TextField<String> ();
            text.setAllowBlank (false);
            column.setEditor (new CellEditor (text));
            configs.add (column);
     
            column = new ColumnConfig ();
            column.setId ("adresse");
            column.setHeader (KeysI.KSTR_CUSTOMER_ADRESSE_HEADER);
            column.setWidth (100);
            text = new TextField<String> ();
            text.setAllowBlank (false);
            column.setEditor (new CellEditor (text));
            configs.add (column);
     
            column = new ColumnConfig ();
            column.setId ("city");
            column.setHeader (KeysI.KSTR_CUSTOMER_CITY_HEADER);
            column.setWidth (100);
            text = new TextField<String> ();
            text.setAllowBlank (false);
            column.setEditor (new CellEditor (text));
            configs.add (column);
            // chargement des buttons 
            m_btn = new Button (" charger ");
            this.add (m_btn);
     
            // chargement des données
            m_lstPersonModel = new ListStore<CustomersBean> ();
     
     
            m_btn.addClickHandler (new ClickHandler ()
            {
     
                String str = "";
     
     
                public void onClick ( ClickEvent event )
                {
     
     
                    MyGridApplicationService.App.getInstance ().getAll (new AsyncCallback<ArrayList<CustomersBean>> ()
                    {
                        public void onFailure ( Throwable caught )
                        {
                            //To change body of implemented methods use File | Settings | File Templates.
                        }
     
                        public void onSuccess ( ArrayList<CustomersBean> result )
                        {
                            //To change body of implemented methods use File | Settings | File Templates.
                            if (result != null) {
     
                                //  for ( int i = 0; i < result.size (); i++ ) {
                                // adresse.setText (result.get (i).getCity ());
                                // m_lstPersonModel = new ListStore<CustomersBean> ();
                                m_lstPersonModel.add (new CustomersBean (result.get (5).getCustomerNumber (), result.get (5).getCustomerName (),
                                        result.get (5).getContactLastName (), result.get (5).getContactFirstName (),
                                        result.get (5).getPhone (), result.get (5).getAddressLine1 (), result.get (5).getCity ()));
     
     
     
                                System.out.println (m_lstPersonModel.getAt (1).getContactFirstName ());
     
                                System.out.println ("Liste result " + result.isEmpty ());
     
     
                            }
                        }
                    });
                }
            });
     
     
            // fin de chargement
     
            ColumnModel columnModel = new ColumnModel (configs);
     
            columnModel.getColumn (0).setStyle ("background-image:url('cell.png');color:white;");
            columnModel.getColumn (1).setStyle ("background-image:url('cell.png');color:white;");
            columnModel.getColumn (2).setStyle ("background-image:url('cell.png');color:white;");
     
            final RowEditor<CustomersBean> re = new RowEditor<CustomersBean> ();
     
     
            m_grdPersonModel = new Grid<CustomersBean> (m_lstPersonModel, columnModel);
            m_grdPersonModel.setAutoExpandColumn (KeysI.KSTR_CUSTOMER_NUMBER);
            m_grdPersonModel.setBorders (false);
     
            m_grdPersonModel.setStyleAttribute ("borderTop", "none");
            m_grdPersonModel.setStripeRows (true);
            m_grdPersonModel.setColumnLines (true);
            m_grdPersonModel.setColumnReordering (true);
     
     
           this.add (m_grdPersonModel);
     
     
        }
    }

    CustomerBean est la classe qui mappe vers la table ..

    à savoir que l'or de l'execution , la grid est bien afficher avec l'entête mais quand je clique sur le boutton ça ne m'affiche rien ( normal j'ai rien mis dedans sauf un simple system.out.println().. bref .!
    J'aimerais que quelqu'un me répond svp c'est urgent .

    Merci d'avance pour votre future aide..

  2. #2
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Salut,

    je te conseille de regarder les codes sources fournis par GXT dans son explorer

    Si tu veux accéder à une variable dans une classe anonyme (ton handler déclaré à la volée), il est obligatoire d'utiliser le mot clé final.

    En fait, je ne vois pas trop ce qui te pose problème. Pourquoi ne pas l'initialiser une fois pour toute au début ? Ensuite dans dans le onSuccess du callback tu ajoutes les éléments à ton ListStore. Si Besoin tu le vides au préalable.
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

Discussions similaires

  1. Les ports des composants java
    Par My Name dans le forum Architecture
    Réponses: 4
    Dernier message: 01/02/2011, 23h30
  2. Réponses: 2
    Dernier message: 21/09/2009, 10h42
  3. Réponses: 1
    Dernier message: 26/01/2003, 16h13
  4. Réponses: 1
    Dernier message: 02/01/2003, 13h45

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