Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/07/2011, 13h09   #1
Invité de passage
 
Inscription : janvier 2010
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 14
Points : 3
Points : 3
Par défaut Générer graphique avec nombre de colonne aléatoire

Bonjour,

Je dois réaliser un graphique en bar (de type Stacked) en flex 4, mais je ne connais pas le nombre de colonnes qu'il faudra "empiler".

Voici le problème : un technicien peut travailler sur plusieurs produits dans une journée, et le nombre et le type de produit est différent pour chaque technicien. Afin de mieux comprendre, voici les données que je vais recevoir dans Flex :

Technicien 1:
[date=30/06/2011, productA=5, productB=8, productX=10],
[date=29/06/2011, productA=2, productB=5, productX=12],
[date=28/06/2011, productA=4, productB=6, productX=11]

Technicien 2:
[date=30/06/2011, productG=5, productB=8, productY=10, productD=2],
[date=29/06/2011, productG=2, productB=5, productY=12, productD=4],
[date=28/06/2011, productG=4, productB=6, productY=11, productD=8]

Je sélectionne un technicien dans une liste et le graphique doit m'afficher les données ci-dessus. J'ai fait le graphique en mxml dont voici le code :
Code :
1
2
3
4
5
6
7
8
9
10
<mx:ColumnChart type="stacked" showDataTips="true" id="stackedChart" width="972" height="277" dataProvider="{dataCollection}">				
				<mx:horizontalAxis>
					<mx:CategoryAxis dataProvider="{dataCollection}" categoryField="date"/>
				</mx:horizontalAxis>
 
				<mx:series>
					<mx:ColumnSeries yField="" displayName=""/>
				</mx:series>
 
			</mx:ColumnChart>
Comment configurer le nombre de colonnes et remplir le graphique ?

Merci,
Vincent
vaccary est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 15h59   #2
Invité de passage
 
Inscription : janvier 2010
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 14
Points : 3
Points : 3
j'ai reussi a créer le graphique, mais en colonne... Je n'arrive pas a le transformer en "Stacked". Voici mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
var currentColumnSet:ColumnSet = stackedChart.series[0] as ColumnSet;
				var currentSeries:Array = currentColumnSet.series;
 
				for(var i:int=0;i<event.result.length;i++) {					
					var columnSeries:ColumnSeries = new ColumnSeries();
					columnSeries.yField = event.result[i].ROLE;
					columnSeries.xField = "thedate";
					columnSeries.displayName = event.result[i].ROLE;
					currentSeries.push(columnSeries);
					(stackedChart.series[0] as ColumnSet).series = currentSeries;
				}
Je fais donc une boucle sur tous les produits touchés par le technicien et j'enregistre le tout. Mais lorsque je spécifie dans mon graphique que je veux un type "Stacked" au lieu de "Clustered", j'ai un message d'erreur : Error #1034: Type Coercion failed: cannot convert mx.charts.series::ColumnSet

Faut il changer le type d'une variable ? si oui, laquelle et en quel type ?

EDIT : la balise code ne fonctionne plus sur mon PC, je mets le code sans la balise en attendant.

Code :
1
2
3
4
5
6
7
8
9
10
11
var currentColumnSet:ColumnSet = stackedChart.series[0] as ColumnSet;
				var currentSeries:Array = currentColumnSet.series;
 
				for(var i:int=0;i<event.result.length;i++) {					
					var columnSeries:ColumnSeries = new ColumnSeries();
					columnSeries.yField = event.result[i].ROLE;
					columnSeries.xField = "thedate";
					columnSeries.displayName = event.result[i].ROLE;
					currentSeries.push(columnSeries);
					(stackedChart.series[0] as ColumnSet).series = currentSeries;
				}
vaccary est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h02.


 
 
 
 
Partenaires

Hébergement Web