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 :

Gxt: Problème lors d'une édition dans une EditorGrid


Sujet :

GWT et Vaadin Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Gxt: Problème lors d'une édition dans une EditorGrid
    Bonjour,

    J'utilise une EditorGrid de la librairie (Ext GWT) que je remplie à l'aide d'un BasePagingLoader comme ceci afin de charger séquentiellement mes données
    selon la position de l'ascenseur vertical de ma grille.

    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
    loader = new BasePagingLoader<PagingLoadResult<DataModel>>(new RpcProxy<PagingLoadResult<DataModel>>() {
     
     @Override
     protected void load(Object aLoadConfig, final AsyncCallback<PagingLoadResult(<DataModel>> callback)
     { 
        config.loadConfig = (BasePagingLoadConfig) aLoadConfig;
        ConfigurationServiceAsync service = ConfigurationService.Util.getInstance();
          service.getData(config.loadConfig, new AsyncCallback<Data>() {
     
        @Override
        public void onSuccess(Data result)
        {
           BasePagingLoadResult<DataModel> loadResult = new BasePagingLoadResult<DataModel>  (config.loadConfig.getOffset(), result.getData());
           callback.onSuccess(loadResult);
            }
         });
       }
     });
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
      ListStore<DataModel>	gridStore = new ListStore<DataModel>(loader);
      EditorGrid grid = new EditorGrid<DataModel> (gridStore, columnModel)...
    Mon problème est que lorsque j'édite une ligne de ma grille(via un double clic sur une cellule) j'obtiens la valeur d'une autre ligne car l'index transmis
    ne correspond pas à celui du store.
    J'ai essayé de surcharger la méthode onDoubleClick(GridEvent<DataModel> e)
    afin de "réindexer" mon store convenablement comme ci-dessous mais sans succès..
    Ca me semble d'ailleur très maladroit de vider le store et d'en refaire un autre...

    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
      editGrid = new EditorGrid(<DataModel>(store, columnModel)
       {
         @Override
          protected void onDoubleClick(GridEvent<DataModel> e) {
               int rowIndex = e.getRowIndex();
               store.removeAll();
               ArrayList<DataModel> reindexList = new ArrayList<DataModel>();
               // remplissage de reindexList
               store.add(reindexList);
           }
           if (editSupport.onDoubleClick(e)) {
            return;
           }
           super.onDoubleClick(e);
          };
       };
    A mon avis il n'est pas nécessaire de surcharger la méthode onDoubleClick(..) mais je ne comprend pas pourquoi, par défaut, le GridEvent ne transmet le "bon" index..
    il ne transmet que celui qui est visible, i.e si je double click sur la 5ème ligne de ma grille, e.getRowIndex vaut 4..

    Si quelqu'un a une idée.
    Merci d'avance !

  2. #2
    Membre à l'essai
    Profil pro
    Consultant BPM
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant BPM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    Je ne sais pas si ça peut t'aider mais j'aurais tendance à pense que l'index de la première ligne est 0 tout simplement

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    héhé merci mais mon souci n'est pas de comprendre pourquoi il y a un décalage
    de 1 entre le numéro de ligne et son index, je sais bien que les "rowIndex" débutent à 0...

    C'est un peu plus compliqué que ça

    Si je scroll verticalement sur ma grille, je déclenche la méthode load de mon BasePagingLoader qui charge 200 lignes dans mon store via un appel RPC.
    Mais la 1ère ligne visible ne correspond pas au 1er élément de mon store..
    il se retrouve bien plus bas.C'est ça que je ne comprend pas.

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/04/2010, 19h15
  2. Réponses: 0
    Dernier message: 17/12/2009, 19h42
  3. [GXT 2.0]Désactiver l'édition d'une ligne dans une EditorGrid
    Par cybersplash dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 13/09/2009, 12h39
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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