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 :

Remonter des evenements [AIR]


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 111
    Par défaut Remonter des evenements
    Bonjour,

    J'ai un peu de mal a manipuler Sqllite en asynchrone alors je me permet de vous demander un peu d'aide.

    J'ai un panel contenant un datagrid avec une variable bindable l'alimentant.

    Je fais mes requêtes depuis une classe : database.as

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		public function getTableCount():void
    		{
    			var statement:SQLStatement = new SQLStatement();
    			statement.addEventListener(SQLEvent.RESULT, getTableCountHandler);
    			statement.sqlConnection = conn;
    			statement.text = "SELECT COUNT(*) as RecordCount FROM matable";
    			statement.execute();
    		}
    Si je crée une méthode getTableCountHandler sur la page database.as j'obtiens le résultat. Mais comment dois je faire pour pouvoir envoyer la réponse à ma variable bindable dans le panel ?

  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
    Salut,

    Ton problème est simplement une notion de POO

    En fait il faut que ta classe database dispatch ses propres events. pour cela tu peux par exemple faire qq chose de ce style :

    database.as:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public function getTableCount():void
    {
    	var statement:SQLStatement = new SQLStatement();
    	statement.addEventListener(SQLEvent.RESULT, getTableCountHandler);
    	statement.sqlConnection = conn;
    	statement.text = "SELECT COUNT(*) as RecordCount FROM matable";
    	statement.execute();
    }
     
    public function getTableCountHandler(evt:SQLResult):void
    {
    	this.dispatchEvent(new DatabaseEvent(DatabaseEvent.RESULT, evt.data);
    }
    ta vue avec ton panel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private function init():void
    {
          var db:database = new database();
          db.addEventListener(DatabaseEvent.RESULT, onResult);
          db.getTableCount();
    }
     
    public function onResult(evt:DatabaseEvent):void
    {
    	// Tu as tes datas dans l'event :)
    }

    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é
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 111
    Par défaut
    Merci beaucoup Jim_Nastiq

    En fait j'étais parvenu à afficher mes données en faisant dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public function getTableCountHandler(evt:SQLResult):void
    {
    			var result:SQLResult = SQLStatement(event.target).getResult();
    			if(result.data != null)
    			{
    				FlexGlobals.topLevelApplication.panelFileDescription.tableList = new ArrayCollection(result.data);
     
    			}
    }
    Ca fonctionne, est ce que toutefois, ça vous parait être une solution correcte ?

  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
    Ca fonctionne mais d'un point de vue bonne pratique ce n'est pas terrible. Notament pour la maintenance et l'évolutivité de ton application. Un exemple simple pour illustrer le probleme :

    Demain tu rajoutes un conteneur parent ou tu changes le nom de ton composant, ton code ne fonctionne plus, i lfaut le modifier. Alors qu'avec la notion évènementiel tu as mieux cloisonné tes composants

    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é
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 111
    Par défaut
    Ok bien compris.
    Merci beaucoup pour l'explication

  6. #6
    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
    N'oubli pas le tag Résolu pour le sujet (bouton en bas du sujet)

    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

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

Discussions similaires

  1. [JMenu] Probleme Des Evenements du clavier vers les composants des
    Par Nadia_81 dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 05/06/2005, 23h14
  2. Réponses: 17
    Dernier message: 04/02/2005, 12h05
  3. [C#] Gestion des evenements
    Par zebulix13 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/06/2004, 18h40
  4. [VB6] Interception des évènement Copier/Couper/Coller
    Par youtch dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/10/2002, 17h09

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