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 :

Génération Data Provider AdvancedDataGrid


Sujet :

Flex

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Par défaut Génération Data Provider AdvancedDataGrid
    Bonjour,

    Présentement j`utilise ce code pour générer les lignes de ma Grid.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                  for (i=0;i<heures.length;i++) {
                    	transports.addItem(addObjet(heures[i]));
                    }			    
     
    		private function addObjet(test:String):Object
    		{
    		    var ligneObj:Object = new Object();
    		    ligneObj.Heure = test;
    		    ligneObj.JCL0  = "test1";
    		    ligneObj.JCC0  = "test2";
    		    ligneObj.JCL1  = "test1";
    		    ligneObj.JCC1  = "test2";
    		    return ligneObj;
    		}
    Ce code fonctionne bien parce que je sais qu`il y a une colonne Heure et quatre autres colonnes (JCL0,JCC0,JCL1,JCC1) dans la grid. Mais dans la réalité je ne sais pas vraiment comment il y aura de colonne, donc je voudrais adresser ces composantes (JCL0,JCC0,JCL1,JCC1) de façon dynamique.

    Merci de votre attention.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Je ne vois pas très bien comment il est possible d'afficher des données structurées sous la forme d'un tableau sans avoir la moindre idée de la structure des données...

    D'où proviennent ces données. Elles sont bien stockées dans un format connu ?

    Malgré tout à partir d'une liste d'objets tu peux par exemple parcourir tous les objets et extraire la liste des propriétés. Pour chaque nouvelle propriété tu crées une nouvelle colonne. Les données seront réparties dans les différentes colonnes. Dans ce cas tu n'as pas la possibilité de personnaliser l'entête des colonnes, ni le format d'affichage.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Par défaut Explication du besoin
    Merci de votre réponse,

    Pour vous expliquez de façon un peu plus précise le besoin, je fais la lecture d`un tableau de transport sur un système externe et celà entre deux dates saisies dans l`application Flex.

    Ensuite je suis en mesure de générer les colonnes de la grid de façon dynamique. Mon dernier problème est de transferrer les valeurs dans les colonnes du Data Provider de la grid.

    Je crois que je vais me limiter à un espacement de date limite par exemple 31 jours et je vais transferrer les résultats de façon fixe, si les colonnes de la grille n`existent pas il ne seront pas affichées. Qu"en pensez-vous?

    Merci de votre attention.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Citation Envoyé par dcantin Voir le message
    Je crois que je vais me limiter à un espacement de date limite par exemple 31 jours et je vais transferrer les résultats de façon fixe, si les colonnes de la grille n`existent pas il ne seront pas affichées. Qu"en pensez-vous?
    Je ne sais pas ce qu'est un tableau de transport... Il faudrait donner plus d'infos sur la variabilité des données. Est-ce que le nombre de colonnes est illimités ? Ne peut-on pas envisager de regrouper certaines colonnes ? etc...

    La seule raison de renoncer à une fonctionnalité c'est de la considérer comme très secondaire. Mais il ne faut pas que ce soit Flex qui vous oblige à ce choix.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 29
    Par défaut Explication du besoin
    Bonjour,

    En fait le nombre de colonne varie en fonction de l`espacement de date, donc une colonne pour chaque jour.

    Exemple: Date début: 11/11/2009
    Date fin: 13/11/2009

    Il y aura donc les colonnes 11/11/2009 12/11/2009 et 13/11/2009. Pour le transfert des données j`utilise un Service Web, donc ma structure est fixe au niveau du transfert, je ne peux transferrer une table avec des colonnes dynamiques. De ce fait je dois générer le Data Provider de façon dynamique dans le AS pour chacune des colonnes. J`espère que cette explication est claire.

    Merci de votre attention.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    J`espère que cette explication est claire.
    Oui et non !

    Le mieux serait peut-être de donner un exemple significatif des données et un dessin de ce qui tu voudrais afficher.

    Le choix de la présentation des données dépend de plusieurs éléments que tu distilles au compte-gouttes, donc difficile de donner les bons conseils.

    Est-il indispensable d'afficher plusieurs dates simultanément ? Ne peut-on pas utiliser une AdavancedDataGrid et regrouper les lignes par date ? Est-ce que le type des données pour chaque date est identique ? etc.

    Ce qui est sur c'est que si effectivement les colonnes correspondent à des dates, un tableau exhaustif avec les dates en colonne sera impossible.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 29
    Par défaut
    Il suffit de construire un ArrayCollection approprié et l'initialiser ton dataGrid avec .

    MXML avec une event init() sur ton creationComplete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    <mx:DataGrid id="datagridValue" 
    	           height="70%"  
    		   width="100%" 
    		   sortableColumns="false" />
    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
     
    init():void
    {
    var list= new Array();
    for each (var o:Objet in myArrayFromWsdl)
    {
        var col = new Array();
        col.push(o.obj1);
        col.push(o.obj2);
        col.push(o.obj3);
        list.push(col);
    }
    datagridValue.dataProvider = new ArrayCollection(list);
    }
    Quelque chose comme ca non ?

Discussions similaires

  1. AdvancedDataGrid data provider
    Par dcantin dans le forum Flex
    Réponses: 4
    Dernier message: 21/11/2009, 00h33
  2. [BO XI R2] Modifier les noms des "Data provider"
    Par LP-mpascolo dans le forum Deski
    Réponses: 2
    Dernier message: 17/03/2008, 14h07
  3. FireBird et ADO.NET Data Provider
    Par markk dans le forum Connexion aux bases de données
    Réponses: 3
    Dernier message: 16/03/2007, 09h56
  4. .NET Data Provider (FirebirdClient)
    Par ghuet dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 06/12/2006, 14h42
  5. Réponses: 1
    Dernier message: 04/06/2006, 00h18

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