<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<s:Module xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx">

	<fx:Script>
		import mx.collections.ArrayList;
	</fx:Script>
	
	<fx:Declarations>
		<s:RemoteObject id="ro" endpoint="http://www.jamesward.com/census2-tests/messagebroker/amf" destination="census"/>
	</fx:Declarations>
	
	<s:creationComplete>
		ro.getElements(0, 500);
	</s:creationComplete>
	
	<s:DataGrid width="100%" height="100%" dataProvider="{new ArrayList(ro.getElements.lastResult)}">
		<s:columns>
			<s:ArrayList>
				<s:GridColumn dataField="id"/>
				<s:GridColumn dataField="age">
					<s:itemRenderer>
						<fx:Component>
							<s:GridItemRenderer>
								<s:Rect percentWidth="{data.age}" top="3" bottom="3">
									<s:fill>
										<s:SolidColor color="#0000ff"/>
									</s:fill>
								</s:Rect>
							</s:GridItemRenderer>
						</fx:Component>
					</s:itemRenderer>
				</s:GridColumn>
				<s:GridColumn dataField="classOfWorker"/>
				<s:GridColumn dataField="education"/>
				<s:GridColumn dataField="maritalStatus"/>
				<s:GridColumn dataField="race"/>
				<s:GridColumn dataField="sex"/>
			</s:ArrayList>
		</s:columns>
	</s:DataGrid>
	
</s:Module>
