Hi, you have to use namespace
as well. Here is an example of a SortedList I use in testproject. You can
enumerate the ListKeys with for … in and the Items with for each … in. Harald package Helper { import
flash.util.Proxy; import
flash.util.flash_proxy; use
namespace flash_proxy; public
class SortedList extends Proxy { private
var _Values:Object; private
var _Keys:Array; private
var _Sorted:Boolean; private
var _Count:int; public
function Add(key:String, value:Object):void { if(
_Values.hasOwnProperty(key) ) throw new Error("Key allready
exists."); _Values[key]
= value; _Count++; _Sorted
= false; } public
function Clear():void { _Values
= new Object(); _Sorted
= false; _Count
= 0; } public
function ContainsKey(key:String):Boolean { return
_Values.hasOwnProperty(key); } public
function get Count():int { return
_Count; } public
function Item(keyindex:Object):Object { return
this.getProperty(_GetKey(keyindex)); } public
function Key(index:int):String { if(
index < 0 || index >= this.Count ) throw new RangeError(); return
this.Keys[index]; } public
function get Keys():Array { if(
!_Sorted ) { _Keys
= new Array(); for(var
_Key:String in _Values) { _Keys.push(_Key); } _Keys.sort(); } return
_Keys; } public
function Remove(keyindex:Object):void { var
_Key:String = _GetKey(keyindex); if(
!_Values.hasOwnProperty(_Key) ) _ThrowError(); delete
_Values[_Key]; _Sorted
= false; _Count--; } override
flash_proxy function getProperty(name:*):* { if(
name is QName ) { return
_Values[name]; } else
{ var
key:String = _GetKey(name); if(
!_Values.hasOwnProperty(key) ) _ThrowError(); return
_Values[key]; } } override
flash_proxy function setProperty(name:*, value:*):void { if(
name is QName ) { _Values[name]
= value; } else
{ var
key:String = _GetKey(name); if(
!_Values.hasOwnProperty(key) ) _ThrowError(); _Values[key]
= value; } } override
flash_proxy function nextNameIndex(index:int):int { if(
index < _Count ) { return
index + 1; } else
{ return
0; } } override
flash_proxy function nextName(index:int):String { return
this.Keys[index -1]; } override
flash_proxy function nextValue(index:int):* { return
getProperty(this.Keys[index-1]); } //Private private
function _ThrowError():void { throw
new Error("Item doesn't exists."); } private
function _GetKey(keyindex:Object):String { if(
isNaN(Number(keyindex)) ) { return
(keyindex as String); } else
{ var
_index:int = int(Number(keyindex)); if(
_index < 0 || _index >= this.Count ) throw new RangeError(); return
this.Keys[_index]; } } //
Constructor public
function SortedList() { _Values
= new Object(); _Sorted
= false; _Count
= 0; } } } Von:
flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] Im Auftrag von Renaun Erickson The sample code is located
below. I am trying to find a way to bind
SPONSORED LINKS
YAHOO! GROUPS LINKS
|