<?xml version="1.0" encoding="utf-8"?>
<!---
Spark DataGrid Sample
-->
<s:Application
xmlns:fx = "http://ns.adobe.com/mxml/2009"
xmlns:s = "library://ns.adobe.com/flex/spark"
fontSize = "35"
viewSourceURL="srcview/index.html">
<fx:Script>
<![CDATA[
import jp.taiga.data.FontData;
import spark.events.IndexChangeEvent;
protected override function createChildren():void {
super.createChildren();
var i :int;
var l :int;
var f :Font;
var fd :FontData;
var fonts :Array;
var newFonts :ArrayList;
newFonts = new ArrayList();
fonts = Font.enumerateFonts(true)
.sortOn("fontName", Array.CASEINSENSITIVE);
l = fonts.length;
for(i = 0; i < l; i++) {
f = fonts[i] as Font;
fd = new FontData();
fd.fontName = fd.fontView = f.fontName;
fd.fontStyle = f.fontStyle;
fd.fontType = f.fontType;
newFonts.addItem(fd);
}
fontDataGrid.dataProvider = newFonts;
}
protected function buttonBarChangeHandler(event:IndexChangeEvent):void {
var bar :ButtonBar;
var o :Object;
bar = event.target as ButtonBar;
o = ( bar.dataProvider as ArrayList).getItemAt( event.newIndex );
if( o.hasOwnProperty("label") ) {
fontDataGrid.selectionMode = o.label;
}
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout
paddingLeft = "20"
paddingTop = "20"
paddingRight = "20"
paddingBottom = "20"
gap = "10"
/>
</s:layout>
<s:Label text="Spark DataGrid Sample" />
<s:ButtonBar
id = "buttonBar"
width = "100%"
height = "50"
requireSelection = "true"
change = "buttonBarChangeHandler(event)"
>
<s:dataProvider>
<s:ArrayList>
<fx:Object label="none" />
<fx:Object label="singleRow" />
<fx:Object label="singleCell" />
<fx:Object label="multipleRows" />
<fx:Object label="multipleCells" />
</s:ArrayList>
</s:dataProvider>
</s:ButtonBar>
<s:DataGrid
id = "fontDataGrid"
width = "100%"
height = "100%"
selectionMode = "none"
skinClass = "jp.taiga.component.skin.CustomDataGridSkin"
gridClick = "ta.appendText( event.toString() + '\n' )"
gridRollOver = "ta.appendText( event.toString() + '\n' )"
>
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="fontName" headerText="Name" />
<s:GridColumn dataField="fontView" headerText="View"
itemRenderer="jp.taiga.component.renderer.CustomDataGridItemRenderer" />
<s:GridColumn dataField="fontStyle" headerText="Style" width="150" />
<s:GridColumn dataField="fontType" headerText="Type" width="150" />
</s:ArrayList>
</s:columns>
</s:DataGrid>
<s:TextArea id="ta" width="100%" height="150" />
</s:Application>