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 :

Passage de paramètres


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 29
    Par défaut Passage de paramètres
    Bonjour,

    j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            	private function createCustomTip(event:ToolTipEvent):void 
            	{
    				xmlList = XML(evenement).accueil.identification.donnee;
               		var ptt:PanelToolTip2 = new PanelToolTip2();
    ...
    J'aimerais que accueil.identification.donnee soit un paramètre de la fonction createCustomTip. Comment faire ? Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Par défaut
    Comment ToolTipEvent est dispatché?

    une idée : vous pouvez étendre la classe ToolTipEvent pour ajouter une propreté dans l'event.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 29
    Par défaut
    Je débute en Flex. je ne comprend pas votre question. Voici le code complet :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <?xml version="1.0" encoding="utf-8"?>
    <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
    	xmlns:flexer="com.flexer.*" 
    	implements="mx.core.IToolTip" alpha=".8" borderThickness="2"
    	backgroundColor="0xCCCCCC" dropShadowEnabled="true" borderColor="black"
    	borderStyle="solid" minWidth="400" >
     
    <mx:Script>
    	<![CDATA[
    		import mx.rpc.http.HTTPService;
    		import mx.rpc.events.ResultEvent;
    		import mx.rpc.events.FaultEvent;
    		import mx.controls.Alert;
    /*		[Bindable]
    		public var xmlList:XMLList;
    		private function init():void
    		{
    			srv.send();
    		}	
    		private function srv_fault(evt:FaultEvent):void
    		{
    			var title:String = evt.type + " (" + evt.fault.faultCode + ")";
    			var text:String = evt.fault.faultString;
    			Alert.show(text, title);
    		}
    		private function srv_result(evt:ResultEvent):void
    		{
    			xmlList = XML(evt.result).accueil.identification.donnee;
    			Alert.show(xmlList.toString());	
    		}	*/
    		public function get text():String
    		{
    			return null;
    		}
    		public function set text(value:String):void
    		{
    		}
    	]]>
    </mx:Script>
     
    <!-- <mx:HTTPService id="srv" url="data/contenu_ok.xml" resultFormat="xml"
    	fault="srv_fault(event)" result="srv_result(event)" /> -->
    <mx:HBox>
    	<mx:VBox>
    		<mx:Repeater id="rp" >
    			<mx:FormItem id="fi" width="100%">
    				<flexer:AutoResizeableTextArea  id="respText"  
            			x="10" y="219" width="222" autoResize="true"/>		
    			</mx:FormItem>
    		</mx:Repeater>
    	</mx:VBox>
    </mx:HBox>
     
    </mx:VBox>
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
    	layout="absolute"
    	creationComplete="init()">
    	<mx:Script>
    		<![CDATA[
    			import flash.net.sendToURL;
    			import mx.rpc.events.FaultEvent;
    			import mx.rpc.events.ResultEvent;
    			import mx.events.ToolTipEvent;
    			import mx.managers.ToolTipManager;
    			import mx.controls.Alert;
    			import mx.rpc.http.HTTPService;
    			import ToolTipComponents.PanelToolTip2;
    			[Bindable]
    			public var xmlList:XMLList;
    			public var evenement:Object;
    			private function init():void
    			{
    				/* génération du tooltip HTML */
    				ToolTipManager.showDelay = 0;
    				ToolTipManager.hideDelay = Infinity;
    	        	/* requete sur le fichier coordonnees.xml */
    				coordonnees.send();
    				srv.send();	
    			}
    			private function srv_fault(evt:FaultEvent):void
    			{
    				var title:String = evt.type + " (" + evt.fault.faultCode + ")";
    				var text:String = evt.fault.faultString;
    				Alert.show(text, title);
    			}
    			private function srv_result(evt:ResultEvent):void
    			{
    				evenement = evt.result;
    			}
            	private function createCustomTip(event:ToolTipEvent):void 
            	{
    				xmlList = XML(evenement).accueil.identification.donnee;
               		var ptt:PanelToolTip2 = new PanelToolTip2();
               		ptt.rp.dataProvider = xmlList.toString();
              		Alert.show(ptt.rp.currentItem.terme.toString());	
               		ptt.fi.label = ptt.rp.currentItem.terme.toString();
               		ptt.respText = ptt.rp.currentItem.definition.toString();
               		event.toolTip = ptt;
            	}
    		]]>
    	</mx:Script>
     
    	<mx:HTTPService id="coordonnees" url="data/coordonnees.xml" resultFormat="e4x"/>
    	<mx:HTTPService id="srv" url="data/contenu_ok.xml" resultFormat="xml"
    	fault="srv_fault(event)" result="srv_result(event)" />
     
    	<mx:VBox width="100%">
    		<mx:HBox backgroundColor="white" width="100%">
    			<!-- LOGO -->
    			<mx:Image source="img/logo.png" />
    			<mx:Label text="Aide pour l'administrateur" fontSize="18" paddingTop="22" />
    		</mx:HBox>
    		<!-- BARRE DE MENU HORIZONTAL -->
    		<mx:TabNavigator id="menuHorizontal" width="100%">
    			<mx:Panel minHeight="700" width="100%" label="PREAMBULE">
    				<mx:Label id="preambule" height="100%" width="100%" 
    					htmlText=""
    					textIndent="0"/>						
    			</mx:Panel>			
    			<mx:Panel title="Vous êtes ici : Accueil" label="ACCUEIL" layout="absolute">						
    				<mx:Image x="150" y="0" source="img/accueil.jpg" />
    					<mx:Canvas id="identification"
    						borderColor="red" 
    						borderStyle="solid" borderThickness="3"
    						x="{coordonnees.lastResult.accueil.identification.x}" 
    						y="{coordonnees.lastResult.accueil.identification.y}" 
    						width="{coordonnees.lastResult.accueil.identification.width}" 
    						height="{coordonnees.lastResult.accueil.identification.height}" 
    						toolTip=" " 
    						toolTipCreate="createCustomTip(event)"/>
    			</mx:Panel>
    		</mx:TabNavigator>
    	</mx:VBox>
    </mx:Application>
    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
    <contenu>	
    	<accueil>
    		<identification>
    			<donnee>
    				<terme>Groupe</terme>			
    				<definition>désignation du ...</definition>
    			</donnee>
    			<donnee>
    				<terme>Utilisateur</terme>
    				<definition>identifiant de l'utilisateur connecté.</definition>
    			</donnee>
    			<donnee>
    				<terme>Support</terme>
    				<definition>Un click sur ce bouton, vous permet d'interroger le support technique ...</definition>
    			</donnee>
    		</identification>
    		<messagerie>
    			Messagerie interne ...
    		</messagerie>
    	</accueil>
    </contenu>
    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Par défaut
    Vous ne pouvez pas mettre accueil.identification.donnee en paramètre.
    Vous pouvez le mettre dans une variable globale accessible par la fonction private function createCustomTip(event:ToolTipEvent):void

    Cela reste une idée, mais je ne sais pas si cela correspondra t -il a ce que vous voulez faire

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 29
    Par défaut
    Bonjour,

    En fait j'ai revu ma façon de faire :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
        xmlns:TestTT="com.composants.*" creationComplete="init()">
     
        <mx:Script>
            <![CDATA[
                import mx.controls.Alert;
                import mx.events.ToolTipEvent;
                import mx.managers.ToolTipManager;
                import mx.controls.Text;
                import mx.controls.Alert;
                import com.composants.MonToolTip;
                private function init():void
                {
                    ToolTipManager.showDelay = 0;
                    ToolTipManager.hideDelay = Infinity;
                }
                public function CreateCustomTip(event:ToolTipEvent):void
                {
                    var ptt:MonToolTip = new MonToolTip(); 
                    ptt.tableauDonnees=sourceDonnees;
                    event.toolTip = ptt;
                }
            ]]>
        </mx:Script>
        <mx:VBox>
            <mx:DataGrid>
                <mx:ArrayCollection id="sourceDonnees">
                    <mx:Object terme="Groupement" definition="Désignation ..."/>        
                    <mx:Object terme="Utilisateur" definition="Utilisateur connecté ..."/>
                </mx:ArrayCollection>        
                  <mx:columns>
                     <mx:DataGridColumn dataField="terme" />
                     <mx:DataGridColumn dataField="definition" />
                  </mx:columns>
            </mx:DataGrid>    
            <mx:TextArea text= "scscsjcsscb   scjschjsCSJcS SJcshJC" 
                toolTip=" "
                toolTipCreate="CreateCustomTip(event)"/>
        </mx:VBox>
    </mx:Application>

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    package com.composants
    {
        import mx.collections.ArrayCollection;
        import mx.controls.DataGrid;
        import mx.controls.Label;
        import mx.controls.ToolTip;
     
        public class MonToolTip extends ToolTip
        {
            private var _datagrid:DataGrid = new DataGrid();
            private var _libelle:Label = new Label();
            private var _tableauDonnees:ArrayCollection = new ArrayCollection;
            public function MonToolTip()
            {
                super();
                // Ajout du libellé
                _libelle.x=10;
                _libelle.y=10;
                _libelle.width=500;
                this.addChild(_libelle);
     
                // Ajout du DataGrid
                _datagrid.x=10;
                _datagrid.y=40;
                this.addChild(_datagrid);
            }
            public function set tableauDonnees(t:ArrayCollection):void
            {
                _datagrid.dataProvider = t;
                _tableauDonnees = t;
            }
            public function get tableauDonnees():ArrayCollection
            {
                return _tableauDonnees;
            }
        }
    }
    mais ma datagrid ne se remplit pas. Pourquoi ?
    Merci.

Discussions similaires

  1. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58
  2. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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