Data binding will not be able to detect....
i need code.
i got error: data binding not able detect assignment "chartdata".
marked "here"
code:
<?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" applicationdpi="160"
xmlns:mx="library://ns.adobe.com/flex/mx"
applicationcomplete="applicationcompletehandler(event)">
<fx:script>
<![cdata[
import be.aboutme.nativeextensions.udp.udpsocket;
import mx.events.flexevent;
private var udpsocket:udpsocket;
public var newvalue:object;
public var value:string;
[bindable]
private var chartindex:int = 0;
private var chartdata:arraycollection = new arraycollection;
import mx.collections.arraycollection;
protected function applicationcompletehandler(event:flexevent):void
{
udpsocket = new udpsocket();
udpsocket.addeventlistener(datagramsocketdataevent.data, udpdatahandler);
udpsocket.bind(1000);
udpsocket.receive();
}
protected function udpdatahandler(event:datagramsocketdataevent):void
{
var value:string = event.data.readutfbytes(event.data.bytesavailable);
if(value)
{
newvalue = value;
test.appendtext(value);
chartdata.source[chartindex] = newvalue;
}
else
{
newvalue = 0;
}
}
]]>
</fx:script>
<fx:declarations>
<!-- place non-visual elements (e.g., services, value objects) here -->
<mx:solidcolorstroke id="s3" color="0x33f400" weight="1"/>
</fx:declarations>
<s:layout>
<s:verticallayout paddingbottom="10" paddingleft="10" paddingright="10" paddingtop="10" />
</s:layout>
<s:scroller width="100%" height="100%">
<s:vgroup width="100%">
<s:textarea id="test" width="100%" height="49" editable="false"/>
<s:hgroup width="100%">
</s:hgroup>
</s:vgroup>
</s:scroller>
<mx:cartesianchart id="linechart" width="100%" height="207" cacheasbitmap="true"
cachepolicy="on" paddingleft="5" paddingright="5">
<mx:verticalaxis>
<mx:linearaxis id="vaxis" alignlabelstointerval="true" autoadjust="false"
baseatzero="false" interval="16" maximum="256" minimum="0" padding="1"/>
</mx:verticalaxis>
<mx:verticalaxisrenderers>
<mx:axisrenderer axis="{vaxis}" candroplabels="true" color="0xf8f8f6" fontsize="8"/>
</mx:verticalaxisrenderers>
<mx:horizontalaxis>
<mx:linearaxis id="haxis" alignlabelstointerval="true" autoadjust="false"
baseatzero="false" interval="25"/>
</mx:horizontalaxis>
<mx:horizontalaxisrenderers>
<mx:axisrenderer axis="{haxis}" candroplabels="true" color="0xf8f8f6" fontsize="8"/>
</mx:horizontalaxisrenderers>
<mx:fill>
<mx:solidcolor color="0x231f20"/>
</mx:fill>
<mx:backgroundelements>
<mx:gridlines cacheasbitmap="true" cachepolicy="on" griddirection="horizontal">
<mx:horizontalstroke>
<s:solidcolorstroke alpha="0.2" color="0xd4d4d3" weight="0"/>
</mx:horizontalstroke>
</mx:gridlines>
</mx:backgroundelements>
<mx:series>
here ---------> <mx:lineseries id="recordgraph" cacheasbitmap="true" cachepolicy="on"
dataprovider="{chartdata}" form="curve" linestroke="{s3}"
sortonxfield="false"/>
</mx:series>
</mx:cartesianchart>
</s:application>
you need make chartdata bindable. this:
[bindable]
private var chartdata:arraycollection = new arraycollection;
More discussions in Flex (Read Only)
adobe
Comments
Post a Comment