<?xml version="1.0"?>
<!-- DataGrid control example. -->
<mx:Application xmlns:mx=" http://www.adobe.com/2006/mxml " >
<mx:Script>
<![CDATA[
import mx.controls.dataGridClasses.DataGridListData;
import mx.controls.dataGridClasses.DataGridItemRenderer;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.controls.dataGridClasses.DataGridHeader;
import mx.events.DataGridEvent;
import mx.events.ListEvent;
/**DataGridDemo by kelvin
* date:2008-05-30
* MSN:xiaobolove@hotmail.com
* */
private function dg_click(event:MouseEvent): void
{
trace ( "---------------click ( MouseEvent ) ---------------" );
traceClass(event);
if (event.target is DataGridItemRenderer)
trace ( "click: " +event.target.text); // 须判断
trace ( "---------------click ( MouseEvent ) ---------------" + "\n" );
}
private function dg_change(event:ListEvent): void
{
trace ( "---------------change(ListEvent)---------------" );
traceClass(event);
trace ( "columnIndex :" +event.columnIndex);
trace ( "rowIndex :" +event.rowIndex);
trace ( "data :\n" +event.itemRenderer.data.toString());
trace ( "---------------change(ListEvent)---------------" + "\n" );
}
private function dg_doubleClick(event:MouseEvent): void
{
trace ( "---------------doubleclick ( MouseEvent ) ---------------" );
traceClass(event);
trace ( "---------------doubleclick ( MouseEvent ) ---------------" + "\n" );
}
private function dg_itemClick(event:ListEvent): void
{
trace ( "---------------itemClick(ListEvent)---------------" );
traceClass(event);
trace ( "Current Cell's Text: " +event.target.dataProvider[event.rowIndex][event.target.columns[event.columnIndex].dataField]); //bug
trace ( "---------------itemClick(ListEvent)---------------" + "\n" );
}
private function dg_itemDoubleClick(event:ListEvent): void
{
trace ( "---------------itemDoubleClick(ListEvent)---------------" );
traceClass(event);
trace ( "Current Cell's Text: " +event.target.dataProvider[event.rowIndex][event.target.columns[event.columnIndex].dataField]); //bug
trace ( "---------------itemDoubleClick(ListEvent)---------------" + "\n" );
}
private function dg_headerRelease(event:DataGridEvent): void
{
trace ( "---------------headerRelease(DataGridEvent)---------------" );
traceClass(event);
trace ( "columnIndex :" +event.columnIndex);
trace ( "rowIndex :" +event.rowIndex);
trace ( "dataField :" +event.dataField);
trace ( "headerText :" +event.itemRenderer.data.headerText);
trace ( "headerText :" +DataGrid(event.target).columns[event.columnIndex].headerText);
trace ( "color :" +event.target.getStyle( "color" ));
trace ( "---------------headerRelease(DataGridEvent)---------------" + "\n" );
}
private function traceClass(event:Event): void
{
trace ( "event.target is DataGrid:" +(event.target is DataGrid));
trace ( "event.target is DataGridColumn:" +(event.target is DataGridColumn));
trace ( "event.target is DataGridHeader:" +(event.target.parent is DataGridHeader));
trace ( "event.target is DataGridItemRenderer:" +(event.target is DataGridItemRenderer));
}
]]>
</mx:Script>
<mx:XMLList id=" employees " >
<employee>
<name> Christina Coenraets </name>
<phone> 555-219-2270 </phone>
<email> ccoenraets@fictitious.com </email>
<active> true </active>
</employee>
<employee>
<name> Joanne Wall </name>
<phone> 555-219-2012 </phone>
<email> jwall@fictitious.com </email>
<active> true </active>
</employee>
<employee>
<name> Maurice Smith </name>
<phone> 555-219-2012 </phone>
<email> maurice@fictitious.com </email>
<active> false </active>
</employee>
<employee>
<name> Mary Jones </name>
<phone> 555-219-2000 </phone>
<email> mjones@fictitious.com </email>
<active> true </active>
</employee>
</mx:XMLList>
<mx:Panel title=" DataGrid Control Example " height=" 100% " width=" 100% "
paddingTop=" 10 " paddingLeft=" 10 " paddingRight=" 10 " >
<mx:Label width=" 100% " color=" blue "
text=" Select a row in the DataGrid control. " />
<mx:DataGrid id=" dg " width=" 100% " height=" 100% " rowCount=" 5 " dataProvider=" { employees } "
dragEnabled=" true " dragMoveEnabled=" true " dropEnabled=" true " draggableColumns=" false "
</sp>