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 :

un PopUpButton dynamique dans un repeater


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Par défaut un PopUpButton dynamique dans un repeater
    Bonjour à tous, j'ai un message d'erreur (repeater not started) à l’exécution de ce code qui compile.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    protected function getActionsIntervenant():Menu {
    	var dp:Object = [{label: "Principal", tooltip: "Définir l'interlocuteur comme représentant principal"},
    		{label: "Supprimer", tooltip: "Supprimer cet interlocuteur"}];
    	var myMenu:Menu = new Menu();
    	myMenu.dataProvider = dp;
    	myMenu.addEventListener("itemClick", clickHandler);
    	return myMenu;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <mx:Tile direction="horizontal" verticalGap="10" horizontalGap="20" color="0x707070">
    	<mx:Repeater id="rep" dataProvider="{listeRepresentants}">
    		<mx:PopUpButton label="{rep.currentItem.labelTiers}"
    			popUp="{getActionsIntervenant()}"
    			click="montrerItemRepresentant(event.currentTarget.getRepeaterItem());"/>
    	</mx:Repeater>
    </mx:Tile>
    Error: Repeater is not executing.
    at mx.core::Repeater/get currentItem()
    at com.xxx.notariat.tiers.main.components::TiersEnregistrementBox/__popB_creationComplete()
    Mon contrôle ne s'appelle plus "popB", soit dit en passant...
    J'ai essayé au départ avec "creationComplete" au lieu de "popUp" (cf. ToutDeFlex), mais le pb se posait déjà.
    Idéalement, je pense que le mieux serait de simplement avoir une sorte de popup_click="clickhandler(event)"... mais comment ?

    Y a-t-il une façon plus souple (orientée MXML) de gérer le menu popup des boutons ? Je ne suis pas parvenu à compiler mes essais.
    Merci d'avance.

  2. #2
    Membre éclairé
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Par défaut
    Zut, je me suis fait avoir par le cache... Désolé. Oublions le cas ci-dessus.

    Maintenant, mon menu est construit, mais j'ai un pb pour en récupérer les billes...

    TypeError: Error #1010: Un terme n'est pas défini et n'a pas de propriété.
    at mx.core::UIComponent/getRepeaterItem()
    at com.xxx.notariat.tiers.main.components::TiersEnregistrementBox/clickHandler()
    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
    protected function getActionsIntervenant():Menu {
    	var dp:Object = [{label: "Principal", tooltip: "Définir l'interlocuteur comme représentant principal"},
    					 {label: "Supprimer", tooltip: "Supprimer l'interlocuteur"}];
    		var myMenu:Menu = new Menu();
    		myMenu.dataProvider = dp;
    		myMenu.addEventListener("itemClick", clickHandler);
    		return myMenu;
    }
    private function clickHandler(event:MenuEvent):void {
    	if (event.index == 0) {	// statut
    		principalItemRepresentants(event.currentTarget.getRepeaterItem());
    	} else {	// suppression
    		supprimerItemRepresentants(event.currentTarget.getRepeaterItem());
    	}
    }
    Cette technique fonctionnait lorsque j'utilisait un ButtonBar, l'événement était hooké sur le ButtonBar ; or cette fois-ci je veux un "hook" de l'événement dans un sous-composant. Ce qui me ramène au besoin précédent : <PopUpButton popup_itemClick="clickhandler(event)", non ?

    Je ne vois pas du tout comment faire... Quelqu'un a-t-il une idée SVP ?

Discussions similaires

  1. [C#] ID Dynamique dans un repeater
    Par same66 dans le forum Débuter
    Réponses: 1
    Dernier message: 17/03/2013, 20h37
  2. Variable dynamique dans un repeater
    Par nikko49 dans le forum Flex
    Réponses: 3
    Dernier message: 12/07/2012, 12h11
  3. Evenement dynamique dans un repeater
    Par primactif dans le forum ASP.NET Ajax
    Réponses: 1
    Dernier message: 20/04/2012, 17h26
  4. Identifiants dynamiques dans un ui:repeat
    Par grb85 dans le forum JSF
    Réponses: 0
    Dernier message: 14/01/2011, 12h58
  5. Faire une checkbox list dynamique dans un repeater
    Par oclone dans le forum ASP.NET
    Réponses: 15
    Dernier message: 23/02/2009, 20h15

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