I copied the good files from the CD and same problem
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"
xmlns:v="views.dashboard.*"
layout="horizontal"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
[Bindable]
private var categories:ArrayCollection=new ArrayCollection();
private function catHandler(event:ResultEvent):void{
categories = event.result.catalog.category;
var catObj:Object = new Object();
catObj.name = "All";
catObj.categoryID = 0;
categories.addItemAt(catObj, 0);
catCombo.selectedIndex = 0;
}
private function salesRPCResult(event:ResultEvent):void{
sales.dp = event.result.salesData.dailySales;
}
private function typeRPCResult(event:ResultEvent):void{
type.dp = event.result.categorySalesData.categorySales;
}
private function compRPCResult(event:ResultEvent):void{
comp.dp = event.result.salesData.dailySales;
}
private function showFault(event:FaultEvent):void{
trace(event.fault.faultCode+":"+event.fault.faultString);
}
private function getData():void{
salesRPC.send();
typeRPC.send();
compRPC.send();
}
private function init():void{
startDate.selectedDate = new Date(2006,3,1);
endDate.selectedDate = new Date(2006,4,1);
catRPC.send();
getData();
}
]]>
</mx:Script>
<mx:HTTPService id="salesRPC"
url="
http://www.flexgrocer.com/rawSalesData.xml"
result="salesRPCResult(event)"
fault="showFault(event)"/>
<mx:HTTPService id="typeRPC"
url="
http://www.flexgrocer.com/categorySalesData.xml"
result="typeRPCResult(event)"
fault="showFault(event)"/>
<mx:HTTPService id="compRPC"
url="
http://www.flexgrocer.com/salesData.xml"
result="compRPCResult(event)"
fault="showFault(event)"/>
<mx:HTTPService id="catRPC"
url="
http://www.flexgrocer.com/category.xml"
result="catHandler(event)"/>
<mx:ApplicationControlBar dock="true">
<mx:Label text="Start Date"/>
<mx:DateField id="startDate"/>
<mx:Label text="End Date"/>
<mx:DateField id="endDate"/>
<mx:Spacer width="100%"/>
<mx:ComboBox id="catCombo"
dataProvider="{categories}"
labelField = "name"/>
<mx:Spacer width="100%"/>
<mx:RadioButtonGroup id="grossOrNetGroup"/>
<mx:RadioButton id="gross"
groupName="grossOrNetGroup"
label="Gross Sales"
data="GROSS"
selected="true"/>
<mx:RadioButton id="net"
groupName="grossOrNetGroup"
label="Net Sales"
data="NET"/>
</mx:ApplicationControlBar>
<mx:states>
<mx:State name="fullSales">
<mx:SetProperty target="{rightCharts}"
name="width" value="0"/>
<mx:SetProperty target="{rightCharts}"
name="height" value="0"/>
</mx:State>
<mx:State name="fullType">
<mx:SetProperty target="{sales}"
name="width"
value="0"/>
<mx:SetProperty target="{sales}"
name="height"
value="0"/>
<mx:SetProperty target="{comp}"
name="width"
value="0"/>
<mx:SetProperty target="{comp}"
name="height"
value="0"/>
</mx:State>
<mx:State name="fullComp">
<mx:SetProperty target="{sales}"
name="width"
value="0"/>
<mx:SetProperty target="{sales}"
name="height"
value="0"/>
<mx:SetProperty target="{type}"
name="width"
value="0"/>
<mx:SetProperty target="{type}"
name="height"
value="0"/>
</mx:State>
</mx:states>
<v:SalesChart id="sales"
width="100%" height="100%"
title="Sales Chart"
grossOrNet="{grossOrNetGroup.selection.data}"
maximize="this.currentState='fullSales'"
restore="this.currentState=''">
</v:SalesChart>
<mx:VBox id="rightCharts"
width="100%" height="100%" >
<v:TypeChart id="type"
width="100%" height="100%"
title="Category Chart"
grossOrNet="{grossOrNetGroup.selection.data}"
maximize="this.currentState='fullType'"
restore="this.currentState=''">
</v:TypeChart>
<v:ComparisonChart id="comp"
width="100%" height="100%"
title=" Comparison Chart"
maximize="this.currentState='fullComp'"
restore="this.currentState=''">
</v:ComparisonChart>
</mx:VBox>
</mx:Application>
and here is one of the charts
<?xml version="1.0" encoding="utf-8"?>
<v:MaxRestorePanel
xmlns:mx="
http://www.adobe.com/2006/mxml"
xmlns:v="views.*" >
<mx:Script>
<![CDATA[
import mx.charts.HitData;
import mx.collections.ArrayCollection;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.collections.ICollectionView;
[Bindable]
public var dp:ICollectionView = null;
[Bindable]
public var grossOrNet:String;
/*
DataGrid label functions
*/
private function renderDGDate(item:Object,
col:DataGridColumn):String{
return mmddyyyy.format(item[col.dataField]);
}
private function renderDGDollars(item:Object,
col:DataGridColumn):String{
return dollars.format(item[col.dataField]);
}
private function renderDate(value:Object,
previousValue:Object,axis:CategoryAxis, item:Object):String{
return mmddyyyy.format(value);
}
private function renderTips(hd:HitData):String {
var item:Object = hd.item;
return "<b>" + mmddyyyy.format(item.DTSALE) + "</b><br>" +
dollars.format(item[grossOrNet]);
}
]]>
</mx:Script>
<mx:DateFormatter id="mmddyyyy" formatString="MM/DD/YYYY" />
<mx:CurrencyFormatter id="dollars" />
<mx:ViewStack id="chartStack" width="100%" height="100%">
<mx:VBox width="100%" height="100%">
<mx:LineChart id="chart"
dataProvider="{dp}"
height="100%" width="100%"
showDataTips="true"
dataTipFunction="renderTips">
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="DTSALE" id="catAxis"
labelFunction="renderDate"/>
</mx:horizontalAxis>
<mx:series>
<mx:LineSeries yField="{grossOrNet}">
</mx:LineSeries>
</mx:series>
</mx:LineChart>
</mx:VBox>
<mx:VBox width="100%" height="100%">
<mx:DataGrid dataProvider="{dp}" width="100%" height="100%" >
<mx:columns>
<mx:DataGridColumn dataField="DTSALE"
headerText="Sale Date"
labelFunction="renderDGDate"/>
<mx:DataGridColumn dataField="NET"
headerText="Profit"
labelFunction="renderDGDollars"/>
<mx:DataGridColumn dataField="GROSS"
headerText="Gross Sales"
labelFunction="renderDGDollars"/>
</mx:columns>
</mx:DataGrid>
</mx:VBox>
</mx:ViewStack>
<mx:ControlBar id="controls">
<mx:Button label="Graph" id="btGraph"
click="chartStack.selectedIndex=0"/>
<mx:Button label="Data" id="btData"
click="chartStack.selectedIndex=1"/>
</mx:ControlBar>
</v:MaxRestorePanel>