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 :

Problème pour dimensionner les colonnes d'un ListGrid


Sujet :

GWT et Vaadin Java

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant
    Inscrit en
    Février 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 46
    Points : 67
    Points
    67
    Par défaut Problème pour dimensionner les colonnes d'un ListGrid
    Bonjour à tous,

    Problématique :
    - Existe-t-il un moyen pour que les colonnes d'un ListGrid soient toujours contenu dans une fenêtre ?
    - Est-il possible de faire en sorte que les bords de ListGrid collent toujours à leur contenant ?
    - Sur un ListGrid dont on a permis qu'il puisse supprimer des enregistrements, lors de sa première apparition est-il possible que la colonne de bouton de suppression apparaissent en entier ? Pour moi, cette colonne apparaît toujours à moitié ! On ne voit qu'une partie de la croix rouge.



    Ce qui produit cela :

    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
        listGrid = new ListGrid();
        listGrid.setCanRemoveRecords(false);
        listGrid.setCanEdit(false);
        listGrid.setAutoFitFieldsFillViewport(true);
        listGrid.setAutoFitFieldWidths(true);
        listGrid.setWidth100();
        listGrid.setHeight100();
        listGrid.setShowAllRecords(true);
        listGrid.setAlternateRecordStyles(true);
        listGrid.setEditEvent(ListGridEditEvent.CLICK);
        listGrid.setShowRecordComponents(true);
        listGrid.setShowRecordComponentsByCell(true);
        listGrid.setShowHeaderContextMenu(false);
        listGrid.setShowHeaderMenuButton(false);
     
        setFieldsWidth();
    J'ai voulu ajouter ces méthodes mais elles ne semblent pas résoudre le problème.
    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
      private void setFieldsWidth() {
        for (ListGridField field : listGrid.getFields()) {
          field.setWidth("100%");
        }
     
        int column_width = 60;
        setFieldWidth("COL_NAME1", column_width);
        setFieldWidth("COL_NAME2", column_width);
        setFieldWidth("COL_NAME3", column_width);
        setFieldWidth("COL_NAME4", column_width);
        setFieldWidth("COL_NAME5", column_width);
        // Taille de la colonne contenant le bouton de suppression
        setFieldWidth("$54h", 60);
      }
     
      private void setFieldWidth(String name, int width) {
        if (null != listGrid.getField(name)) {
          listGrid.getField(name).setWidth(width);
        }
      }
    Quelques précisions sur l'environnement :
    • GWT 2.4.0
    • Eclipse Version: Indigo Service Release 2, Build id: 20120216-1857
    • SmartGWT 3.1

    Merci d'avance pour votre aide.
    Images attachées Images attachées  

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Septembre 2012
    Messages : 15
    Points : 23
    Points
    23
    Par défaut
    Bonjour,
    Citation Envoyé par lnplnp Voir le message
    Est-il possible de faire en sorte que les bords de ListGrid collent toujours à leur contenant ?
    contenant.setPaneMargin(0);
    ou
    contenant.setMembersMargin(0);
    Citation Envoyé par lnplnp Voir le message
    Sur un ListGrid dont on a permis qu'il puisse supprimer des enregistrements, lors de sa première apparition est-il possible que la colonne de bouton de suppression apparaissent en entier ? Pour moi, cette colonne apparaît toujours à moitié ! On ne voit qu'une partie de la croix rouge
    As-tu changés les icônes de suppression ? Pour moi, par défaut je n'ai pas de croix comme les tiennes.
    C'est surement parce que le Width du bouton est inférieur à celui de l'icône.
    En plus, dans ton code ton setCanRemoveRecords() est à false !

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant
    Inscrit en
    Février 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 46
    Points : 67
    Points
    67
    Par défaut
    Finalement j'ai eu une réponse de l'éditeur... concernant le bouton de suppression.
    La solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        ListGridField removeFieldProperties = new ListGridField("SurveysListView-delete", "Retirer cet enregistrement", 40);
        listGrid.setRemoveFieldProperties(removeFieldProperties);
    mais il faut faire une mise à jour de SmartClient.

    http://forums.smartclient.com/showthread.php?p=96832

    Je suis passé de

    • SmartClient Version: v8.2p_2012-05-23/LGPL Development Only (built 2012-05-23)
    • SmartGWT 3.1


    à

    • SmartClient Version: v8.3_2012-11-20/LGPL Development Only (built 2012-11-20)
    • SmartGWT 3.1


    Le est bien à TRUE dans mon code... je l'avais changé après le copier-coller. Désolé pour la confusion !

    Pour finir, le fait d'avoir régler le problème sur le bouton de suppression a permis de régler le problème de largeur de colonnes qui colle toujours aux bords de son contenant.

    Malgré tout j'aurai aimé avoir votre avis sur le fait d'utiliser une boucle sur les ListGridField et faire le setWidth("100%") pour "résoudre" la problématique initiale.
    Y a t-il une meilleure pratique ? Serait-ce déjà la bonne pratique ?

Discussions similaires

  1. [JDOM] Problème pour lire les noeuds avec JDOM
    Par Eclix dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 26/05/2014, 18h11
  2. [Swing]JTable- Dimensionner les colonnes
    Par loutfi dans le forum Composants
    Réponses: 12
    Dernier message: 01/07/2011, 08h50
  3. Problème pour lire les donnée d'une table externe
    Par mardoch dans le forum SQL*Loader
    Réponses: 6
    Dernier message: 17/07/2008, 16h41
  4. Réponses: 1
    Dernier message: 17/05/2004, 11h29

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