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 :

Petit souci de Charting [Flex4]


Sujet :

Flex

  1. #1
    Membre éclairé
    Profil pro
    Ingénieur d'études et développement JAVA
    Inscrit en
    Mai 2008
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études et développement JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 202
    Par défaut Petit souci de Charting
    Bonjour j'ai un petit souci de charting ,

    J'ai ma source de donnée dans un fichier xml :

    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
    28
    29
    	<products>
    				<product name="Product One">
    					<sales>
    						<sale year="2010" items="5050"/>
    						<sale year="2011" items="6500"/>
    						<sale year="2012" items="9301"/>
    						<sale year="2013" items="13210"/>
    						<sale year="2014" items="15000"/>
    					</sales>
    				</product>
    				<product name="Product Two">
    					<sales>
    						<sale year="2010" items="15000"/>
    						<sale year="2011" items="13210"/>
    						<sale year="2012" items="9301"/>
    						<sale year="2013" items="6500"/>
    						<sale year="2014" items="5050"/>
    					</sales>
    				</product>
    				<product name="Product Three">
    					<sales>
    						<sale year="2010" items="15000"/>
    						<sale year="2011" items="454"/>
    						<sale year="2012" items="9301"/>
    						<sale year="2013" items="3211"/>
    						<sale year="2014" items="5050"/>
    					</sales>
    				</product>
    			</products>
    je veux l'afficher dans une pieChart avec le code suivant :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    			   xmlns:s="library://ns.adobe.com/flex/spark" 
    			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:products="services.products.*">
    	<fx:Script>
    		<![CDATA[
    			import mx.controls.Alert;
    			import mx.events.FlexEvent;
     
    			protected function pieChart_creationCompleteHandler(event:FlexEvent):void
    			{
    				getDataResult.token = products.getData();
    			}
     
    		]]>
    	</fx:Script>
    	<fx:Declarations>
    		<s:CallResponder id="getDataResult"/>
    		<products:Products id="products" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/>
    		<!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). -->
    	</fx:Declarations>
    	<s:layout>
    		<s:HorizontalLayout/>
    	</s:layout>
    	<s:Panel title="Product Chart">
    		<mx:PieChart x="167" y="10" id="pieChart" creationComplete="pieChart_creationCompleteHandler(event)" dataProvider="{getDataResult.lastResult}" showDataTips="true">
    			<mx:series>
    				<mx:PieSeries id="PieSeries" displayName="Series 1" field="name" nameField="name"/>
    			</mx:series>
    		</mx:PieChart>
    		<mx:ControlBar>
    			<mx:Legend dataProvider="{pieChart}"/>
    		</mx:ControlBar>
    	</s:Panel>
     
     
    </s:Application>
    Je ne sais pas où est l'erreur.
    Pourriez-vous m'aider, s'il vous plait ?

  2. #2
    Membre éclairé
    Profil pro
    Ingénieur d'études et développement JAVA
    Inscrit en
    Mai 2008
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études et développement JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 202
    Par défaut Résolu
    Bonjour , j'ai trouvé ma solution ,

    Puisque mon fichier XML à plusieurs niveaux d'enfants
    je ne peux pas faire référence à la data en utilisant une notation à plat comme yField="sale" ,je dois utiliser une méthode dataFunction pour définir quel champ de ChartItem sera peuplé par le dataProvider.

    Voici donc la solution pour accéder à une donnée complexe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private function totalVenteDataFunction(series:Series, item:Object, fieldName:String):Object{
    				var totalVente:Number = 0;				
    				for each(var sale:XML in item.sales.*){
    					totalVente += Number(sale.@items);
    				}				
    				return totalVente;				
    			}
    Cette fonction reçoit la balise XML product , parcourt chaque sale, calculer le total et le renvoie au PieChart .

    après je spécifie a mon DataProvider la source de données comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <mx:PieChart id="piechart1"
    						dataProvider="{productsData.*}" 

    et pour afficher ces données dans la série :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    				<mx:series>
    					<mx:PieSeries id="pieSeries"  
    								  dataFunction="totalVenteDataFunction"

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

Discussions similaires

  1. Petit soucis pour se connecter à l'adsl
    Par Blowih dans le forum Réseau
    Réponses: 4
    Dernier message: 28/07/2004, 00h16
  2. petit soucy de fenetre cmd
    Par FeetloveR666 dans le forum Windows
    Réponses: 5
    Dernier message: 03/07/2004, 14h24
  3. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 11h58
  4. Réponses: 6
    Dernier message: 21/01/2004, 13h25
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

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