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 :

Execute une fonction du MXML principal depuis un ItemRenderer


Sujet :

Flex

  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 133
    Par défaut Execute une fonction du MXML principal depuis un ItemRenderer
    Bonjour,

    Voila mon prob, j'ai des fonctions dans mon MXML, mais je n'arrive pas à y acceder depuis mon ItemRenderer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="middle" >
     
    <mx:Script>
            <![CDATA[
                import mx.controls.Alert;
     
            ]]>
        </mx:Script>
        <mx:Image source="{data.pict_url}" width="180" height="135" />
        <mx:Label text="{data.name}" />
    </mx:VBox>
    Le ItemRenderer fonctionne, mais je n'ai pas accès au fonction du MXML qui les appelle de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <mx:HorizontalList id="sourcesList"
                  dataProvider="{datas_service.lastResult.datas.sources.source}"          
                  itemRenderer="SourcesItemRenderer"
                  columnCount="4"
                  columnWidth="320"
                  rowCount="1"
                  rowHeight="240"
                  horizontalScrollPolicy="on"
                  width="100%"
                  height="100%" />
    Merci d'avance, pouvez-vous m'aider svp ?

  2. #2
    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
    regarde de ce coté:

    ou
    ou


    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

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 133
    Par défaut
    Merci pour ta réponse,

    Mais je n'ai pas trouvé de moyen d'accèder aux "Fonctions" depuis les ItemRenderer.

  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
    Admettons mon application se lance depuis un fichier Main.mxml comme ceci:

    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
     
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
        creationComplete="onCreationComplete()" 
        layout="absolute">
     
    <mx:Script>
        <![CDATA[
        	import mx.controls.Alert;
            private function onCreationComplete():void{
                dgPhotos.dataProvider = xmlPhotos.photo;
            }
     
            public function showAlert():void
            {
            	Alert.show("AhAH");
            }
        ]]>
    </mx:Script>
    <mx:XML id="xmlPhotos" source="data.xml"/>
    <mx:Panel title="DataGrid Renderer" width="180" height="250" verticalCenter="0" horizontalCenter="0">
        <mx:DataGrid id="dgPhotos" width="100%" >
            <mx:columns>
                <mx:DataGridColumn itemRenderer="dgRenderer"/>
            </mx:columns>
        </mx:DataGrid>
    </mx:Panel>
    </mx:Application>
    dans mon renderer dgRenderer.mxml je peux accéder à la méthode showAlert() comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.parentApplication.showAlert();
    tu peux aussi y accèder avec parentDocument si ton dataGrid n'est pas dans le composant de "lancement" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.parentDocument.showAlert();

    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 éclairé Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Par défaut
    A mon avis, c'est l'inverse qu'il veut faire. Il veut pouvoir appeler du main la fonction de son item renderer. Malheureusement ce n'est pas possible, il faut passer par un changement d'états et le détecter dans l'item renderer pour déclencher ta méthode.

  6. #6
    Membre confirmé
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 133
    Par défaut
    J'ai trouvé comment appeler les fonctions du Main depuis le ItemRenderer.

    C'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.application

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. executer une fonction d'un form A depuis un formB
    Par fred19732 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 09/03/2010, 16h48
  2. Executer une fonction depuis un pop-up : rien ne se passe
    Par gnappy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/11/2007, 16h16
  3. Réponses: 3
    Dernier message: 16/01/2006, 16h02
  4. executer une fonction à la fermeture d'une fenêtre
    Par Oluha dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/02/2005, 09h46
  5. [Reflection] Executer une fonction dont le nom est contenu dans un String
    Par christobal dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 05/07/2004, 15h23

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