<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white" viewSourceURL="srcview/index.html">
<mx:Style>
.greenModal {
modalTransparencyColor: haloGreen;
}
.redModal {
modalTransparencyColor: red;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.utils.StringUtil;
private function checkArray(arr:Array):void {
textArea.text = "";
dataGrid.dataProvider = arr;
var success:Boolean = arr.every(isNumeric);
if (success) {
Application.application.styleName = "greenModal";
Alert.show("Array is numeric.", "SUCCESS", Alert.OK, null, null); } else {
Application.application.styleName = "redModal";
Alert.show("Array has non-numeric elements.",
"ERROR",
Alert.OK,
null,
null);
}
}
private function isNumeric(element:Object, index:int, arr:Array):Boolean {
var str:String = StringUtil.substitute("{0} ({1})\n",
element.label,
element.data);
textArea.text += str;
return ((element.hasOwnProperty("data")) &&
(element.data is Number));
}
]]>
</mx:Script>
<mx:Array id="numericArray1">
<mx:Object label="One" data="1" />
<mx:Object label="Two" data="2" />
<mx:Object label="Three" data="3" />
<mx:Object label="Four" />
<mx:Object label="Five" data="5" />
<mx:Object label="Six" data="6" />
<mx:Object label="Seven" data="7" />
</mx:Array>
<mx:Array id="numericArray2">
<mx:Object label="Eight" data="8" />
<mx:Object label="Nine" data="9" />
<mx:Object label="Ten" data="10" />
<mx:Object label="Eleven" data="11" />
<mx:Object label="Twelve" data="12" />
</mx:Array>
<mx:ApplicationControlBar dock="true">
<mx:Button label="Check Array 1"
click="checkArray(numericArray1);" />
<mx:Button label="Check Array 2"
click="checkArray(numericArray2);" />
</mx:ApplicationControlBar>
<mx:HBox>
<mx:DataGrid id="dataGrid" rowCount="7">
<mx:columns>
<mx:DataGridColumn dataField="label" />
<mx:DataGridColumn dataField="data" />
</mx:columns>
</mx:DataGrid>
<mx:TextArea id="textArea"
editable="false"
width="{dataGrid.width}"
height="{dataGrid.height}" />
</mx:HBox>
</mx:Application>