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

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Points : 59
    Points
    59
    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 éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Points : 875
    Points
    875
    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 du Club
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Points : 59
    Points
    59
    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
    Points : 3 189
    Points
    3 189
    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

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Points : 59
    Points
    59
    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 éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Points : 875
    Points
    875
    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 du Club
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Points : 59
    Points
    59
    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 éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Points : 875
    Points
    875
    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 du Club
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Points : 59
    Points
    59
    Par défaut
    Merci bcp, je te tiendrais informé du résultat

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

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Points : 875
    Points
    875
    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)

  11. #11
    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
    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...

  12. #12
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Points : 59
    Points
    59
    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 é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
    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 du Club
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Points : 59
    Points
    59
    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
    Points : 3 189
    Points
    3 189
    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

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

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Points : 875
    Points
    875
    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 ?

  17. #17
    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
    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.
    Là j'y comprends plus rien... ce qui me rassure c'est de ne pas être le seul !!

    L'exemple que je t'ai donné fait la même chose avec des String que toi avec tes VBox/ViewStack, non ?

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