August 21, 2008, 2:19 pm
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.dataGridClasses.DataGridColumn;
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
private var projects:ArrayCollection;
private function init():void
{
service.send();
}
private function resultHandler(event:ResultEvent):void
{
projects = event.result.rss.channel.item;
}
private function dollarFunction(item:Object, column:DataGridColumn):String
{
return "$"+item.avgbid;
}
]]>
</mx:Script>
<mx:HTTPService id="service"
url="assets/projects.xml"
result="resultHandler(event)"/>
<mx:DataGrid dataProvider="{projects}" width="100%" height="195"/>
<mx:DataGrid dataProvider="{projects}" width="100%" height="289" y="241">
<mx:columns>
<mx:DataGridColumn headerText="Title" dataField="title"/>
<mx:DataGridColumn headerText="Bids" dataField="bids" width="50"/>
<mx:DataGridColumn headerText="Avg. Bid" dataField="avgbid" width="60"
labelFunction="dollarFunction"/>
<mx:DataGridColumn headerText="Job Type" dataField="category"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
August 21, 2008, 11:07 am
package myComponents {
import mx.controls.*;
import mx.core.*;
import mx.controls.dataGridClasses.DataGridListData;
public class CellField extends TextInput
{
public function CellField() {
super();
height=60;
width=80;
setStyle("borderStyle", "none");
editable=false;
}
override public function set data(value:Object):void {
super.data = value;
if (value != null)
{
text = value[DataGridListData(listData).dataField];
if(Number(text) > 100)
{
setStyle("backgroundColor", 0xFF0000);
}
}
else
{
text= "";
}
super.invalidateDisplayList();
}
}
}
August 21, 2008, 10:45 am
<?xml version="1.0"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml"
horizontalAlign="center">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
[Embed(source="saleIcon.jpg")]
[Bindable]
public var sale:Class;
[Embed(source="noSaleIcon.jpg")]
[Bindable]
public var noSale:Class;
override public function set data(value:Object):void {
if(value != null) {
super.data = value;
if (value.SalePrice == true) onSale.source=new sale();
else onSale.source=new noSale();
}
dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
}
]]>
</mx:Script>
<mx:Image id="onSale" height="20"/>
</mx:HBox>
August 21, 2008, 10:03 am
package myEvents
{
import flash.events.Event;
public class EnableChangeEvent extends Event
{
public function EnableChangeEvent(type:String, isEnabled:Boolean=false)
{
super(type);
this.isEnabled = isEnabled;
}
public static const ENABLE_CHANGED:String = "enableChanged";
public var isEnabled:Boolean;
override public function clone():Event
{
return new EnableChangeEvent(type, isEnabled);
}
}
}
July 30, 2008, 12:17 am

click to launch demo