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 :

Affichage d'une grille GXT


Sujet :

GWT et Vaadin Java

  1. #1
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut Affichage d'une grille GXT
    Citation Envoyé par khawlaayouta
    Salut,

    Je suis entrain de réaliser un projet en utilisant la librerie gwt-ext 2.0.3.
    j'ai crée un boutton ajouter, je veux lorsque je clique sur ce boutton il me crée un grid comme ceci:

    ajouter.addListener(newButtonListenerAdapter(){
    public void onClick( Button rechercher, Event Object e)
    {
    createGrid();
    }

    lorsque je teste la méthode createGrid en dehors de l'event button il'ya création de grid mais dans le code de button j'aurais rien.
    y'a t-il une autre solution?

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  2. #2
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    khawlaayouta, ta démarche est correcte.

    Ce qu'il se passe, c'est qu'en GXT, les composants sont "dessinées"/construit s'ils sont affichés.

    La solution qui fonctionne s'explique :
    Lorsque tu affiches le panneau P qui doit contenir et le bouton et la grille, le bouton et la grille sont des "enfants" du panneau P , ils sont donc construit au moment ou le panneau P est lui même construit.

    La solution qui ne fonctionne pas s'explique :
    Lorsque tu affiches le panneau P qui doit contenir et le bouton et la grille, le bouton est un "enfant" du panneau P mais pas encore la grille.

    As tu essayé de redessiner ton panneau P après avoir mis ta grille comme enfant de P :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void onClick( Button rechercher, Event Object e)
    {
    createGrid();
    p.layout(); // p est une référence sur le panneau P qui contient le bouton/grille
    }

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  3. #3
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Citation Envoyé par khawlaayouta
    Merci benwit d'avoir me repondre,
    j'ai pas trouver la methode Layout mais j'ai essayé avec doLayout() mais tjs pas d'affichage
    y'a t-il une autre solution?
    C'est que tu ne dois pas opérer sur le bon panneau GXT :
    http://www.extjs.com/deploy/gxtdocs/...r.html#layout()



    Citation Envoyé par khawlaayouta
    Si non, moi je ne veut pas créer le grid je veux juste y inserer des données d'un objet que je cherche ds la db en cliquant sur un boutton rechercher.

    ma solution est la suivante:
    j'ai crée le grid
    j'ai créé: une methode getData(Offre offre) // retourne un tableau de données que je vais inserer ds le grid.
    voici le code de boutton rechercher:
    rechercher.addListener(new ButtonListenerAdapter(){
    public void onClick(Button rechercher, EventObject e) {
    offreService.getOffreByIntitule(intituleN.getValueAsString() , new AsyncCallback < OffreDtoGwt > ()
    {

    public void onFailure(Throwable arg0) {
    //Window.alert("failure search");
    }

    public void onSuccess(OffreDtoGwt arg0) {
    // ici je veux remplir la grid
    en appelant la methode getData(arg0)
    }
    });

    }

    });

    si vs pouvez m'aidez pour la deuxieme ça serait mieux.
    et merci d'avance
    Les Grid GXT fonctionne avec des store, loader, reader et des proxy.
    As tu regardé l'exemple http://www.extjs.com/examples/pages/grid/xml.html

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut
    J'ai crée la méthode suivante qui fait l'insertion des données au grid:

    private void InsertData(EditorGridPanel grid)
    {
    if (store != null)
    {
    store.removeAll();
    }
    Object[][] data = new Object[][] { new Object[] { "obj1", "obj2", "obj3" } };
    MemoryProxy proxy = new MemoryProxy(data);
    ArrayReader reader = new ArrayReader(recordDef);
    store = new Store(proxy, reader);
    store.load();
    grid.reconfigure(store, columnModel);


    }


    store et recordDef et columnModel sont déjà definis, mais la méthode ne marche pas.
    en faisant l'execution du code il m'affiche une page blanche

  5. #5
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Sur ton exemple, je vois pas ce qui cloche.

    Dans le lien précédemment fourni, je te montrai un exemple où les données sont chargées en xml sur un serveur. Ce qui est plus compliqué qu'un simple chargement local.

    GXT fourni également des exemples de données chargées localement.
    Essaye les pour voir comment tu peux les intégrer à ton code.

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut
    merci

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut DateField
    Salut, j'utilise gwt-ext 2.0.3, je veux saisir la date d'un calandrer et l'afficher dans un DateField.
    j'ai écrit le code suivant:

    DateField dob = new DateField("Date", "dob",190);
    pan.add(dob);


    mais le calandrer s'affiche en grande taille de telle façon que je peux pas voir les dates
    svp, y'a t'il qq chose qui manque?
    si nn comment je peut diminuer la taille de calandrier?
    Je veux faire comme ceci:http://www.gwt-ext.com/demo/#loadSubmitXmlForm
    merci d'avance

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut gwt + problème recherche dans la base de données
    J'ai réalisé une méthode qui recherche la liste des personnes dans la base de données et me retourne une liste que j'affiche dans une grid voici son code:
    au niveau gwt serviceImpl:
    public List < PersonneDtoGwt > getPersonneById(int id) {
    List < PersonneDtoGwt > personnesFound = null;
    try {
    personnesFound = mapperDozerBean.mapList(personneService.getPersonneById(id), PersonneDtoGwt.class);
    return personnesFound;
    }
    catch (BusinessException e) {
    logger.error(e.getMessage());
    return null;
    }
    }

    au niveau dao:
    public List < Personne > getPersonneById(Integer id) {
    final Criteria criteria = createCriteria(Personne.class);
    criteria.add(Restrictions.like("id", id));
    return (List < Personne > ) criteria.list();
    }

    au niveau de l'interface j'ai ajouté un event au boutton rechercher:
    rechercher.addListener(new ButtonListenerAdapter(){
    public void onClick(Button recherche, EventObject e) {

    personneService.getPersonneById(Integer.ValueOf(id.getText()) , new AsyncCallback <List < PersonneDtoGwt > > ()
    {

    public void onFailure(Throwable arg0) {

    MessageBox.alert("failure search");
    }

    public void onSuccess(List <PersonneDtoGwt> arg0) {

    updateGrid(grid,arg0);

    }
    });

    }

    });

    le problème est lorsque j'ajoute une nouvelle personne et je fais la recherche ça donne un résultat mais si je veux chercher une autre le bouton se bloque, aussi si j'ajoute pas et je fais la recherche il m'affiche "failure search" j'ai pas compris le pb est où exactement
    svp quelqu'un peut m'aidez à résoudre mon pb? et merci d'avance

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut gwt-ext lineChart
    Salut
    svp j'ai besoin de réaliser une courbe comme ceci http://www.gwt-ext.com/demo-charts/#lineChart
    J'ai essayé le code mais ça marche pas... pas d'affichage....page blanche.
    c quoi le pb?

  10. #10
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Même les exemples ne fonctionnent pas ?

    Cela utilise flash.
    Le projet GWT doit avoir dans ses ressources statiques les fichiers de la librairie (et il doit y avoir un .swf quelque part)

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut gwt-ext lineChart
    Merci bien Benwit pour votre réponse,
    Mais j'ai pas compris qu'est que je doit faire pour résoudre mon pb. Est ce que je doit ajouter des jars? modifier la configuration?
    Svp explique moi plus en détails
    et merci d'avance

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut probleme d'affichage de calandrier pour un dateField
    Salut, j'utilise gwt-ext 2.0.3, je veux saisir la date d'un calandrer et l'afficher dans un TextField alors j'ai utilisé DateField.
    j'ai écrit le code suivant:

    DateField dob = new DateField("Date", "dob",190);
    pan.add(dob);


    mais malheureusement j'ai eu un problème d'affichage de calendrier associé au dateField, en effet, lorsque je clique sur l'icône de calendrier il y' a affichage de barres bleu et blanc vide..trop long....
    svp, y' a t'il qq chose qui manque?
    si non comment je peut régler l'affichage de calendrier?
    Je veux faire comme ceci:http://www.gwt-ext.com/demo/#loadSubmitXmlForm
    merci d'avance

  13. #13
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Désolé, je n'utilise pas cette librairie qui a été abandonnée par son créateur.
    Chacun est libre de l'utiliser à ses risques et périls.

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  14. #14
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut probleme d'affichage de calandrier pour un dateField
    En tout cas merci pour votre réponse,
    mais j'ai pas le choix c imposé.
    Svp, y' a t-il d'autre solution vraiment je suis bloquée

  15. #15
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    c'est peut être un problème de CSS, ells ont bien toute été ajoutée à la page ?

    Dans l'exemple de ton lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <link rel="stylesheet" type="text/css" href="http://www.gwt-ext.com/ext/2.0.2/resources/css/ext-all.css"/> 
    <link id="theme" rel="stylesheet" type="text/css" href="http://www.gwt-ext.com/ext/2.0.2/resources/css/xtheme-gray.css"/>
    Dans ton code, si tu recopie ces liens, il faut que la machine est un accès à Internet à http://www.gwt-ext.com.
    Sinon, il faut que ces fichiers css soit inclus dans tes ressources publiques et que les url href pointent dessus.

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  16. #16
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut
    Bonjour,
    Merci merci Benwit , oui j'ai changé au niveau de css (en ajoutant width/ height) et j'ai eu un bon affichage

  17. #17
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut gwt ext treePanel multiple root
    Salut, je travaille avec treePanel, j'ai suivi l'exemple suivant:


    Le problème est que j'ai besoin d'un treePanel seulement à deux niveaux par exemple:

    teamA
    a1
    a2
    a3
    teamB
    b1
    b2
    b3
    b4
    teamC

    autrement dit j'ai pas besoin d'un root comme dans l'exemple dans le site. Mais j'ai pas trouvé une solution qui me permet: soit d'enlever le root , soit de faire des multiples roots (teamA, teamB, teamC)

    Svp, pouvez vous m'aider et merci d'avance

  18. #18
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    public void setShowRoot(Boolean showRoot)

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

  19. #19
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 18
    Points
    18
    Par défaut
    Merci beaucoup Benwit
    j'ai trouvé l'équivalent de votre méthode :
    setRootVisible( Boolean)
    et ça marche bien

  20. #20
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Je n'avais pas fait attention mais le site de gwt-ext renvoi la doc de smart-gwt.

    La méthode indiqué est donc celle de smart-gwt et l'api de gwt-ext est introuvable ?! (sauf si on l'a en local je suppose)

    Comme quoi, utiliser une lib abandonnée n'est pas sans risque.

    Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
    On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
    L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
    La meilleure façon de prédire l'avenir, c'est de l'inventer.

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

Discussions similaires

  1. Affichage d'une grille en Java
    Par chocoboy dans le forum Graphisme
    Réponses: 15
    Dernier message: 04/09/2014, 23h43
  2. Réponses: 5
    Dernier message: 15/01/2010, 15h02
  3. [Lazarus] Affichage d'une grille d'images
    Par Brupio dans le forum Lazarus
    Réponses: 1
    Dernier message: 01/04/2007, 15h42
  4. Réponses: 3
    Dernier message: 19/07/2006, 10h16
  5. [Débutant] Affichage d'une grille
    Par Mathieu.J dans le forum OpenGL
    Réponses: 25
    Dernier message: 13/06/2004, 19h38

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