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 :

Afficher des données sur un datagrid


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 218
    Par défaut Afficher des données sur un datagrid
    Bonjour,

    Ce que je voudrais :

    J'ai un input text et un bouton rechercher

    Je souhaite que quand on click sur ce bouton, que les data retournées par la fonction déclenchée ( getServeurByName() ) soient affiché dans le datagrid.

    Voilà ce que j'ai pu mettre en place, le soucis c'est que je n'arrive pas a faire afficher ces données :

    text input :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <s:TextInput includeIn="DetailServeurs" x="58" y="361" width="209" id="txt_search" text="Default text" focusIn="txt_search_focusInHandler(event)"/>
    Bouton rechercher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <s:Button includeIn="DetailServeurs" x="275" y="361" label="Rechercher" id="btn_rechercher" click="btn_rechercher_clickHandler(event)"/>
    clickhandler pour le bouton rechercher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    protected function btn_rechercher_clickHandler(event:MouseEvent):void
            {
                if(txt_search.text != ""){
                    getServeurByNameResult.token = serveurService.getServeurByName(txt_search.text);
                }
            }
    datagrid :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <mx:DataGrid includeIn="DetailServeurs" x="30" y="124" width="1002" height="179" id="dataGrid" dataProvider="{getServeurByNameResult.lastResult}">
        <mx:columns>
            <mx:DataGridColumn headerText="GSP_nom" dataField="GSP_nom"/>
            <mx:DataGridColumn headerText="port" dataField="port"/>
                   ........
        </mx:columns>
    </mx:DataGrid>


    Merci beaucoup, je suis un peu perdu je suis un nouveau concernant le flex/AS3

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Par défaut
    Salut

    Si j'ai bien compris ton problème, la personne tape un nom dans le textinput, valide avec le bouton, et ton datagrid affiche les résultat. C'est bien ca ?
    Les données que tu veux affichés sont stocké ou ? dans une bdd ? tu les "reçois" via un web service.... ?
    Il faut que tu récupère tes données et que tu les place dans un tableau (je te conseille un arrayCollection) qui soit [Bindable]. Ensuite tu n'as plus qu'a mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <mx:DataGrid dataProvider="{tonTableau}"/>
    et le tour est joué.

    Si je n'ai pas bien compris ton problème ne tiens pas compte de mon message
    Cordialement
    flo

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 124
    Par défaut
    Faudrait surtout que tu nous montre ta méthode getServerByName.
    A priori c'est un appel serveur asynchrone et c'est dans le traitement de la réponse qu'il faut affecter le résultat.
    Or, ici, tu sembles faire comme si tu accédais à une méthode locale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getServeurByNameResult.token = serveurService.getServeurByName(txt_search.text);
    Ça ne peut pas marcher.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 218
    Par défaut
    Les infos sont stockés sur une BDD et j'y accède par mysqli.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    getServeurByName(string:Object) : VoteParHebergeur
    et il m'est retourné plein d'informations telles que plein de string et d'integer.

    sinon vous avez tout à fait compris l'idée,

    lorsque je clique sur le bouton rechercher je veux que les resultats de la requete soient affichés dans le tableau.

    merci

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Par défaut
    Salut

    Il faut que tu récupères tes données et que tu les stockes dans une arraycollection.
    Pour cela, il te faut une fonction du genre (ici tu récupère en base un login, un password et un email pour chaque personne):
    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
     
    var affichage:ArrayCollection = new ArrayCollection();
    public function recupererDonnees(e:Event):void
    {
         var myvars:URLVariables=new URLVariables(e.target.data);
         affichage.removeAll();
         var i:uint;
         for(i=1; i<=myvars.nbusers; i++) 
         {
            var objUser:Object = 
            {
                 login:myvars["login"+i],
                 pwd:myvars["pwd"+i],
                 email:myvars["email"+i]
             };
          affichage.addItem(objUser);
          }
    }
    puis dans ton datagrid tu n'as plus qu'a faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <mx:Datagrid id="tonDatagrid" dataprovider="{affichage}">
         <mx:Colums>
              <mx:DataGridColumn headerText="Login" dateField="login"/>
              <mx:DataGridColumn headerText="PassWord" dateField="pwd"/>
              <mx:DataGridColumn headerText="Mail" dateField="email"/>
         </mx:Colums>
    </mx:Datagrid>
    Voila voila, j'espère que mon explication t'aura aidé.

    Florian

Discussions similaires

  1. [AC-2003] Affiche des données sur une listebox à partir d'une requete sql
    Par facteur dans le forum VBA Access
    Réponses: 22
    Dernier message: 25/11/2013, 15h16
  2. Afficher des données sur ma page d'accueil JSP
    Par Jamie.Mansour dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 14/02/2013, 14h58
  3. C# et WPF : comment afficher des données dans une DataGrid (to bind or not to bind ?!?)
    Par jmnicolas dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 31/05/2010, 15h03
  4. Afficher des donnée sur l'interface GUI
    Par norberg dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 29/05/2009, 13h58
  5. Afficher des données dans un datagrid à partir d'une base de données MySQL
    Par General_Garrisson dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/07/2006, 15h14

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