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 :

Accordion : affichage label des sous-éléments en multiline


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut Accordion : affichage label des sous-éléments en multiline
    Bonjour,

    J'utilise un Accordion comme menu principale de l'application.
    Mon accordion est peuplé de la manière suivante :

    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
    var accordionItem:VBox = new VBox();
     
    var toggleButtonBar:ToggleButtonBar = new ToggleButtonBar();
     
    var viewStack:ViewStack = new ViewStack();
     
    var subItem1:VBox = new VBox();
    subItem1.label = "sous menu 1";
    viewStack.addChild(subItem1);
     
    var subItem2:VBox = new VBox();
    subItem2.label = "sous menu 2 avec un label bcp plus long que le width de l'accordion";
    viewStack.addChild(subItem2);
    ...
     
    toggleButtonBar.dataProvider = viewStack; 
     
    // Le toggleButtonBar est prêt à etre assigné à l'élément de l'accordion
    accordionItem.addChild(toggleButtonBar);
     
    mon_instance_de_laccordion.addChild(accordionItem);
    ...
    Mon problème c'est que j'arrive pas à afficher le label des sous-éléments en multiline lorsqu'il est plus long que le width de l'accordion. (par défaut le label se limite à l'extrémité de l'accordion en y rajoutant ... de suspension + un toolTip qui permet de visualiser la totalité du label)

    Est ce que quelqu'un avait déjà eu le même souci et a pu le résoudre?

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Salut,
    je ne suis pas très certain mais as tu essayé d'ajouter directement tes vbox comme childs de ton accordion ? , et dans ta vbox de mettre des link buttons par exemple..
    j'ai du mal à voir pourquoi tu as une togglebuttonbar ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    Salut merci pour ta réponse mais est ce que tu px me dire comment je pourrais assigner des childrens aux items de l'accordion sans passer par le toggleButtonBar ? Si tu px me filer un bout de code j'en serais reconnaissant.

    Merci

  4. #4
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Salut,

    tu ajoutes tes enfants (ici VBOX) à ton instance d'accordion tout simplement :

    exemple mxml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <mx:Accordion>
    <mx:VBox label="vb1"/>
    <mx:VBox label="vb2"/>
    <mx:VBox label="vb3"/>
    </mx:Accordion>
    exemple AS:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var acc:Accordion = new Accordion();
    var vbOne:VBox = new VBox();
    vbOne.label = "vb1";
    var vbTwo:VBox = new VBox();
    vbOne.label = "vb2";
    var vbThree:VBox = new VBox();
    vbOne.label = "vb3";
    acc.addChild(vbOne);
    acc.addChild(vbTwo);
    acc.addChild(vbThree);
    La prochaine fais l'effort de lire la documentation

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    Apparemment tu n'as pas bien compris ma question, ce que je demande c'est comment ajouter des SOUS éléments pour chaque VBox. Prends le temps de bien lire les questions merci qd meme.

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Hello,
    tu peux faire quelquechose dans ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <mx:Accordion id="menuAcc">
    		<mx:VBox id="cat1VB" label="Catégorie 1">
    			<mx:LinkButton id="cat1Page1LBtn" label="Catégorie 3, Page1"/>	
    		</mx:VBox>
    		<mx:VBox id="cat2VB" label="Catégorie 2" >
    			<mx:LinkButton id="cat2Page1LBtn" label="Catégorie 2, Page1" />
    			<mx:LinkButton id="cat2Page2LBtn" label="Catégorie 2, Page2" />
    		</mx:VBox>
    		<mx:VBox id="cat3VB" label="Catégorie 3" width="100%">
    			<mx:LinkButton id="cat3Page1LBtn" width="100%" label="Catégorie 3, Page1" />		
    		</mx:VBox>
    	</mx:Accordion>
    [EDIT] : oups , désolé j'arrive après la bataille.. du coup mon poste risque d'être inutile

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    Cela n'a pas pu résoudre le problème, au cas où le label est très long, le scroll horizontal du linkButton s'affiche. Je trouve pas comment y appliquer le multiline.

    En fait j'utilise le togglebuttonbar pour des raisons de skinning, donc je devrais normalement garder ma manière de peupler l'accordion.

    Merci

  8. #8
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Voici un lien qui pourra peut être t'être utile avec les linkbutton ... ou même ta méthode si tu adaptes tout ça :

    http://www.flexx.fr/forum/viewtopic.php?p=3799

  9. #9
    Membre émérite
    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
    Par défaut
    Je ne suis pas certain de bien comprendre... Tu utilises des VBox pour afficher des labels ?

    Si VBox utilise un Label pour afficher son label c'est normal que ce soit sur une seule ligne. Pour avoir plusieurs lignes il faut utiliser Text.

    Sinon tu peux faire un exemple en mxml que je puisse me rendre compte, car je trouve ta solution plutôt étrange...

  10. #10
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    Merci bcp, je te tiendrais informé du résultat

  11. #11
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    ça marche, je veux bien parce que c'est bon à savoir
    (mais en résumé ça à l'air d'être juste une composant custom héritant d'un linkbutton, ou tu passes la propriété textField.multiline à true.. grossièrement c'est ça)

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    @Krazymins : malheureusement ça n'a pas marché
    @jylaxx : et oui j'utilise des vbox pour peupler mon toggleButtonBar et la raison pour laquelle j'utilise ce dernier c'est pour bénéficier de l'état "Seleted" ce qui est pas natif pour un accordion, plus précisément qd je clique sur un sous élément de l'accordion je vx que ça garde son état "Selected" jusqu'à ce que je clique sur un autre élément.

  13. #13
    Membre émérite
    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
    Par défaut
    Bon j'insiste un peu parce que ça m'agace de pas comprendre ce que tu essais de faire !

    Pourquoi est-ce que tu passes par un ViewStack et des VBox uniquement pour définir les labels de tes boutons ????

    Tu peux directement fournir une liste de chaînes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <mx:VBox label="Menu" width="100%" height="100%">
    	<mx:ToggleButtonBar width="100%">
    		<mx:dataProvider>
    			<mx:String>sous menu1</mx:String>
    			<mx:String>sous menu2 avec un label bcp plus long que le width de l'accordion</mx:String>
    		</mx:dataProvider>
    	</mx:ToggleButtonBar>
    </mx:VBox>

  14. #14
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    The dataProvider of 'a ToggleButtonBar' must be String, ViewStack, Array, or IList.

    Franchement je ne vois pas comment je pourrais m'en sortir avec des String.
    Si tu as la moindre idée je suis preneur, Merci d'avance.

  15. #15
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Par hasard, le composant Accordion Menu présenté dans Tour de Flex ne te satisfait pas: ici ?

    je propose cela mais j'avoue que, comme Jylaxx, j'ai du mal à saisir ton besoin réel

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  16. #16
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Si j'ai bien compris, tu veux afficher des liens (ou labels ..) qui sont plus grands que l'accordéon lui-même et tu voudrais donc que ces liens s'affichent sur plusieurs lignes, dans ton accordéon, plutôt que de voir apparaître une scroll bar ou "..." c'est bien ça ?

Discussions similaires

  1. [eZ Publish] Problème affichage des sous-éléments dans le Back Office
    Par azrael62 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 11/09/2012, 10h46
  2. Includes et filtrage des sous éléments
    Par zax-tfh dans le forum Entity Framework
    Réponses: 2
    Dernier message: 03/11/2011, 08h39
  3. [eZ Publish] Changement de la gestion des sous-éléments
    Par ricozor dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 17/10/2011, 09h25
  4. Pb d'édition des sous-éléments d'une CListView
    Par whitebird001 dans le forum MFC
    Réponses: 3
    Dernier message: 10/09/2008, 15h20
  5. Display un sous menu : affichage progressif des sous rubriq.
    Par sokette dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/12/2005, 16h15

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