<?xml version="1.0" encoding="iso-8859-1"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundAlpha="0" creationComplete="srv.send()" > <mx:Script> <![CDATA[ import mx.collections.*; [Bindable] public var ac:ArrayCollection; private function initList() : void { ac = new ArrayCollection(srv.lastResult.roster.player); } /** * Note: Everytime we call one of the find functions, we set the SortField. This is * to avoid the situation where a user clicks on a column header to sort the DataGrid. In * this case, the Sort Field will get reset and therefore be undefined if you call a find * function. */ private function createSort() : void { var sort:Sort = new Sort(); sort.fields = [new SortField("name", true)]; ac.sort = sort; ac.refresh(); } private function findFirst():void { createSort(); var cursor:IViewCursor = ac.createCursor(); var values:Object = {name: nameInput.text} cursor.findFirst(values); lbl.text = cursor.current.name + " " + cursor.current.lastname + ", " + cursor.current.initials; myGrid.setFocus(); } private function findLast():void { createSort(); var cursor:IViewCursor = ac.createCursor(); var values:Object = {name: nameInput.text} cursor.findLast(values); lbl.text = cursor.current.name + " " + cursor.current.lastname + ", " + cursor.current.initials; } private function findAny():void { createSort(); var cursor:IViewCursor = ac.createCursor(); var values:Object = {name: nameInput.text} cursor.findAny(values); lbl.text = cursor.current.name + " " + cursor.current.lastname + ", " + cursor.current.initials; } ]]> </mx:Script> <mx:HTTPService id="srv" url="../assets/players.xml" result="initList()"/> <mx:DataGrid id="myGrid" width="400" dataProvider="{ac}" > <mx:columns> <mx:DataGridColumn dataField="initials" headerText="Initials"/> <mx:DataGridColumn dataField="name" headerText="First Name"/> <mx:DataGridColumn dataField="lastname" headerText="Last Name"/> </mx:columns> </mx:DataGrid> <mx:HBox> <mx:Label text="Search for name: " /> <mx:TextInput id="nameInput" width="150" text="Steve" /> </mx:HBox> <mx:HBox> <mx:Button label="Find First" click="findFirst();" /> <mx:Button label="Find Last" click="findLast();" /> <mx:Button label="Find Any" click="findAny();" /> </mx:HBox> <mx:Label id="lbl" width="300" /> </mx:Application>
|