<?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">
	
	<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 id="columns">
				<s:GridColumn dataField="id"/>
				<s:GridColumn dataField="age" minWidth="45"/>
				<s:GridColumn dataField="classOfWorker" minWidth="100"/>
				<s:GridColumn dataField="education" minWidth="100"/>
				<s:GridColumn dataField="maritalStatus" minWidth="100"/>
				<s:GridColumn dataField="race" minWidth="100"/>
				<s:GridColumn dataField="sex" minWidth="60"/>
			</s:ArrayList>
		</s:columns>
	</s:DataGrid>
	
</s:Module>
