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

Flex Discussion :

Center au plus juste un texte dans une cellule d'un Grid


Sujet :

Flex

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut Center au plus juste un texte dans une cellule d'un Grid
    Bonjour,

    je ne sais pas si mon titre est parlant, je m'explique.

    Dans un Grid (et non pas un DataGrid) je souhaite dans une cellule afficher un label, mais je voudrais qu'il soit centrer et en plus que le texte soit quasi collé au bordure gauche/droite.

    Par exemple :

    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
     
    <mx:Style>
    .itemrow 
    {
      font-size:11;
      text-align:center;
    }	
    </mx:Style>
     
    <mx:Grid borderStyle="solid">
      <mx:GridRow>
    	<mx:GridItem styleName="itemrow">
    		<mx:Label text="M"/>
    	</mx:GridItem>
      </mx:GridRow>
    </mx:Grid>
    Dans l'exemple ci-dessus, le 'M' est bien centré dans ma cellule mais à gauche et à droite du label il y a 5 pixels, j'aimerai pouvoir descendre à 2 ou 1.

    Merci pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    paddingLeft, paddingRight

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par jylaxx Voir le message
    paddingLeft, paddingRight
    J'y ai pensé mais ça ne fonctionne pas

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    horizontalGap peut-être ?

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par jylaxx Voir le message
    horizontalGap peut-être ?
    Non plus

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    Voici l'explication :

    Si la longueur du texte à afficher est inférieure à 2 caractères, Label utilise la chaîne "Wj" pour calculer la taille minimum du rectangle occupé par le texte.
    Ensuite il ajoute 4 pixels en hauteur et 5 en largeur (arbitrairement il me semble...).

    Donc si tu affiches "M" la largeur réelle du texte est 9, mais la largeur du rectangle calculé est de 20 (15 + 5). (15 = largeur de "Wj")

    Deux solutions :
    1- surcharger Label pour modifier son mode de calcul.
    2- définir manuellement la largeur avec la propriété width (pas terrible).

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Salut jylaxx,

    merci beaucoup pour cette réponse, c'est plus clair Mais c'est quoi cette chaîne "Wj" ?

    La solution de surcharger Label pour modifier son mode de calcul me plaît bien, mais quelle méthode surcharger ? measure() ?

    Pour être plus précis, pour résoudre mon problème ça serait d'avoir des cellules de taille fixe (15 pixels) puis de repositionner le text du label au plus près du bord.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    Mais c'est quoi cette chaîne "Wj"
    Tu trouvera ça dans le code de la classe Label, méthode getMinimumText() appelée dans measure().

    L'idée (de l'auteur qui n'est pas moi ) est de s'assurer que le rectangle réservé à l'affichage du label est suffisamment grand en largeur, d'où le W qui est le caractère a priori le plus large, et en hauteur, d'où le j qui descend mais n'est pas trop large pour ne pas fausser le calcul de la largeur...
    Perso je trouve ça un peu bricolé !!

    Dans ton cas si tu veux des cellules de taille fixe il suffit de mettre width="15" !

Discussions similaires

  1. Remplacer un texte dans une cellule Excel à partir d'un point donné
    Par tonyC dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/04/2006, 19h05
  2. formatage d'un text dans une cellule stringgrid en float
    Par iam dans le forum Bases de données
    Réponses: 4
    Dernier message: 26/04/2006, 15h05
  3. [VBA-E]séparateur de texte dans une cellule
    Par desdenova dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/04/2006, 16h44
  4. [VBA] aligner le texte dans une cellule
    Par Rakham dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/01/2006, 17h07
  5. Faire défiler un texte dans une cellule de tableau
    Par Furius dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 01/12/2005, 17h06

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