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

ActionScript 3 Discussion :

Récuperer la valeur d'un textInput et l'afficher dans un DataGrid


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Par défaut Récuperer la valeur d'un textInput et l'afficher dans un DataGrid
    Bojour tout le monde, je débute avec Flex/ActionScript et je bloque sur un truc.
    Dans mon fichier .mxml j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
       ....
    <s:TextInput id="txt" x="183" y="9"/>
    <s:Button click="ajouter(event)" label ="Add"/>
     
    mx:DataGrid id="data" >
    		<mx:columns>
    			<mx:DataGridColumn id="c1" headerText="nom" dataField="nom"/>
    		</mx:columns></mx:DataGrid>
    ...
    donc vous pouvez le void quan je clique sur mon bouton ajouter je fais appel à la fonction ajouter(event), dans cette fonction je veux récupérer ma valeur tapé dans le textInput et la mettre dans le dataProvider du DataGrid, pour l'instant j'arrive à faire cela mais quand je met un deuxième mot, le premier disparaît et c'est le dernier mot que j'ai tapé qui est inséré

    voilà ma fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public function ajouter(event:MouseEvent):void
    		{
    			var text:String=this.view.txt.text;
    			data.dataProvider=text;
    		}

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Par défaut
    juste une modification au niveu de ma fonction, c'est var text:String=txt.text;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Par défaut
    Hello,
    voici la solution...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function ajouter(event:MouseEvent):void
    {
    	var text:String=this.view.txt.text;
            var _a:ArrayCollection  = data.dataProvider as ArrayCollection;
            _a.addItem({ nom : text });
    	data.dataProvider=_a;
    }
    ou plus rapidement ( a reverifier )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public function ajouter(event:MouseEvent):void
    {
    	data.dataProvider=ArrayCollection(data.dataProvider).addItem({ nom : this.view.txt.text});
    }
    Voili voilou

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Par défaut
    Merci Keaz pour ta réponse, donc j'ai essayé la première version et ça na pas marché, par contre quand j'ai changé la deuxième ligne en faisant ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var _a:ArrayCollection  = new ArrayCollection();
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var _a:ArrayCollection  = data.dataProvider as ArrayCollection;
    cela marche que pour l'insertion d'un seul mot, si j'ajoute un deuxième le premier disparu et c'est le deuxième qui est inséré dans DataGrid ?!

    voilà si t'as une idée
    Merci

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Par défaut
    Alors une petite question, ta grid est-elle peuplé à la base ou non ?
    car si il n'y a rien c'est normal que ça ne marche pas.
    essay ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public function ajouter(event:MouseEvent):void
    {
    	var text:String=this.view.txt.text;
            var _a:ArrayCollection  = data.dataProvider as ArrayCollection;
             if( _a == null ) _a  = new ArrayCollection(); // on crée donc la collection si inexistante
            _a.addItem({ nom : text });
    	data.dataProvider=_a;
    }
    ou sinon si ça ne marche toujours pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private var _collection:ArrayCollection;
    public function ajouter(event:MouseEvent):void
    {
             if( this._collection == null ) this._collection  = new ArrayCollection();
    	var text:String=this.view.txt.text;
            this._collection.addItem({ nom : text });
    	data.dataProvider=this._collection;
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Par défaut
    c'est bon keazz ça marche merci beuacoup

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/03/2012, 11h27
  2. Réponses: 2
    Dernier message: 19/05/2011, 10h00
  3. Réponses: 3
    Dernier message: 24/02/2010, 19h25
  4. [Toutes versions] Extraire une valeur d'une ListBox pour l'afficher dans une cellule
    Par stid59 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/04/2009, 22h05
  5. Réponses: 2
    Dernier message: 09/11/2007, 10h18

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