2juil/094
Flex Chart – Modifier la donnée en temps réel, changement de dataProvider
En utilisant de l'ActionScript, vous pouvez changer la data d'un Chart à l'exécution (runtime) de plusieurs manières. Vous pouvez changer le dataProvider d'un Chart ou d'une Series.
L'exemple suivant fait une correspondance (Binding) entre la propriété dataProvider et une variable locale. Un bouton permet ensuite de basculer de dataProvider en utilisant cette variable locale.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script><![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var expenses:ArrayCollection = new ArrayCollection([
{Month:"Jan", Profit:2000, Expenses:1500, Amount:450},
{Month:"Feb", Profit:1000, Expenses:200, Amount:600},
{Month:"Mar", Profit:1500, Expenses:500, Amount:300}
]);
[Bindable]
public var expenses2:ArrayCollection = new ArrayCollection([
{Month:"Jan", Profit:2400, Expenses:1509, Amount:950},
{Month:"Feb", Profit:3000, Expenses:2200, Amount:400},
{Month:"Mar", Profit:3500, Expenses:1200, Amount:200}
]);
[Bindable]
public var dp:ArrayCollection = expenses;
public function changeDataProvider():void {
if (dp==expenses) {
dp = expenses2;
} else {
dp = expenses;
}
}
]]></mx:Script>
<mx:Panel title="Line Chart">
<mx:LineChart id="myChart" dataProvider="{dp}" showDataTips="true">
<mx:horizontalAxis>
<mx:CategoryAxis
dataProvider="{dp}"
categoryField="Month"
/>
</mx:horizontalAxis>
<mx:series>
<mx:LineSeries
yField="Profit"
displayName="Profit"
/>
<mx:LineSeries
yField="Expenses"
displayName="Expenses"
/>
<mx:LineSeries
yField="Amount"
displayName="Amount"
/>
</mx:series>
</mx:LineChart>
<mx:Legend dataProvider="{myChart}"/>
</mx:Panel>
<mx:Button id="b1"
label="Changer de Data Provider"
click="changeDataProvider()"
/>
</mx:Application>
Flex Source Code Download: Télécharger le code source complet de l'application
This movie requires Flash Player 11
Articles similaires
- Flex Chart – Utiliser un Array d'Object comme dataProvider (ActionScript)
- Flex Chart – Appliquer un renderer (skin) à un LineChart avec lineSegmentRenderer
- Flex Chart – Utiliser un Array d'Object comme dataProvider (MXML)
- Flex Chart – Modifier les styles d'un LineChart en MXML et ActionScript
- Flex Chart – Utiliser un ArrayCollection comme dataProvider (ActionScript)






3 juillet 2009
Salut
jute à te dire que sur safari-mac la pub d'Adobe Flex mange tout le haut droit de ta fenêtre de tuto
sinon la coloration du code super visuelle !!
3 juillet 2009
C'est pour des problèmes comme cela que j'aime Flash ^^. Désolé pour le bug, cela gêne la lecture ou bien ?
Fabien
3 juillet 2009
Bonsoir
Un carré de 250x250 pixels qui part de la ligne <?xml version="1.0"
Oui c'est quand même gênant car ta typo est en réserve blanche et la pub à un fond blanc
Tu ne peux pas la remonter ??
4 juillet 2009
Je pourrai surement mais je ne peux pas tester car pas de safari ni de mac sous la main. Si tu veux me donner le code CSS qui corrige ça je suis preneur, sinon cela restera comme ça
Fabien