| Package | mx.collections | 
| Interface | public interface ICollectionView extends IEventDispatcher | 
| Implementors | ListCollectionView | 
| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
ICollectionView is a view onto a collection of data.
  The view can be modified to show the data sorted according to various
  criteria or reduced by filters without modifying the underlying data.
  An IViewCursor provides to access items within a
  collection. You can modify the collection by using the IViewCursor
  interface insert() and remove() methods.
 
  An ICollectionView may be a view onto data that has been
  retrieved from a remote location.
  When Implementing this interface for data
  that may be remote it is important to handle the case where data
  may not yet be available, which is indicated by the
  ItemPendingError.
The IList interface is an alternative to the
  ICollectionView interface.
Related API Elements
| Property | Defined By | ||
|---|---|---|---|
| filterFunction : Function 
      A function that the view will use to eliminate items that do not
      match the function's criteria. | ICollectionView | ||
| length : int [read-only] 
      The number of items in this view. | ICollectionView | ||
| sort : ISort 
      The ISort that will be applied to the ICollectionView. | ICollectionView | ||
| Method | Defined By | ||
|---|---|---|---|
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 
	Registers an event listener object with an EventDispatcher object so that the listener
	receives notification of an event. | IEventDispatcher | |
| 
      Returns whether the view contains the specified object. | ICollectionView | ||
| 
      Creates a new IViewCursor that works with this view. | ICollectionView | ||
| 
      Prevents changes to the collection itself and items within the
	  collection from being dispatched by the view. | ICollectionView | ||
|  | 
	Dispatches an event into the event flow. | IEventDispatcher | |
| 
      Enables auto-updating. | ICollectionView | ||
|  | 
	Checks whether the EventDispatcher object has any listeners registered for a specific type 
	of event. | IEventDispatcher | |
| itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void 
      Notifies the view that an item has been updated. | ICollectionView | ||
| 
      Applies the sort and filter to the view. | ICollectionView | ||
|  | 
	Removes a listener from the EventDispatcher object. | IEventDispatcher | |
|  | 
	Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | IEventDispatcher | |
| Event | Summary | Defined By | ||
|---|---|---|---|---|
| Dispatched when the ICollectionView has been updated in some way. | ICollectionView | |||
| filterFunction | property | 
filterFunction:Function| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
A function that the view will use to eliminate items that do not match the function's criteria. A filterFunction is expected to have the following signature:
f(item:Object):Booleanwhere the return value is
true if the specified item
	  should remain in the view.
	 
      If a filter is unsupported, Flex throws an error when accessing
      this property.
      You must call refresh() after setting the
	  filterFunction property for the view to update.
Note: The Flex implementations of ICollectionView retrieve all items from a remote location before executing the filter function. If you use paging, apply the filter to the remote collection before you retrieve the data.
Implementation
    public function get filterFunction():Function    public function set filterFunction(value:Function):voidRelated API Elements
| length | property | 
| sort | property | 
sort:ISort| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      The ISort that will be applied to the ICollectionView.
	  Setting the sort does not automatically refresh the view,
	  so you must call the refresh() method
	  after setting this property.
      If sort is unsupported an error will be thrown when accessing
      this property.
	 
	  
Note: The Flex implementations of ICollectionView retrieve all items from a remote location before executing a sort. If you use paging with a sorted list, apply the sort to the remote collection before you retrieve the data.
Implementation
    public function get sort():ISort    public function set sort(value:ISort):voidRelated API Elements
| contains | () | method | 
 public function contains(item:Object):Boolean| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Returns whether the view contains the specified object.
	  Unlike the IViewCursor.findxxx methods,
	  this search is succesful only if it finds an item that exactly
	  matches the parameter.
      If the view has a filter applied to it this method may return
	  false even if the underlying collection
	  does contain the item.
     
      
Parameters
| item:Object— The object to look for. | 
| Boolean— true if the ICollectionView, after applying any filter,
      contains the item; false otherwise. | 
| createCursor | () | method | 
 public function createCursor():IViewCursor| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Creates a new IViewCursor that works with this view.
Returns| IViewCursor— A new IViewCursor implementation. | 
| disableAutoUpdate | () | method | 
 public function disableAutoUpdate():void| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Prevents changes to the collection itself and items within the
	  collection from being dispatched by the view.
	  Also prevents the view from updating the positions of items
	  if the positions change in the collection.
	  The changes will be queued and dispatched appropriately
	  after enableAutoUpdate is called.
	  If more events than updates to a single item occur,
	  the view may end up resetting. 
	  The disableAutoUpdate method acts cumulatively;
	  the same number of calls to enableAutoUpdate
	  are required for the view to dispatch events and refresh.
	  Note that disableAutoUpdate only affects the
      individual view; edits may be detected on an individual
	  basis by other views.
      
      
| enableAutoUpdate | () | method | 
 public function enableAutoUpdate():void| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Enables auto-updating.
	  See disableAutoUpdate for more information.
	 
      
Related API Elements
| itemUpdated | () | method | 
 public function itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Notifies the view that an item has been updated.
	  This method is useful if the contents of the view do not implement
	  IPropertyChangeNotifier.
	  If the call to this method includes a property parameter,
	  the view may be able to optimize its notification mechanism.
      Otherwise it may choose to simply refresh the whole view.
     
      
Parameters
| item:Object— The item within the view that was updated. | |
| property:Object(default =null)— The name of the property that was updated. | |
| oldValue:Object(default =null)— The old value of that property. (If property
	  was null, this can be the old value of the item.). | |
| newValue:Object(default =null)— The new value of that property. (If property
	  was null, there's no need to specify this as the item is assumed
	  to be the new value.) | 
Related API Elements
| refresh | () | method | 
 public function refresh():Boolean| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
      Applies the sort and filter to the view.
	  The ICollectionView does not detect changes to a sort or
	  filter automatically, so you must call the refresh()
	  method to update the view after setting the sort 
	  or filterFunction property.
	  If your ICollectionView implementation also implements
	  the IMXMLObject interface, you should to call the
	  refresh() method from your initialized()
	  method.
	 
      
Returns true if the refresh was successful
	  and false if the sort is not yet complete
	  (e.g., items are still pending).
	  A client of the view should wait for a CollectionEvent event
	  with the CollectionEventKind.REFRESH kind
	  property to ensure that the refresh() operation is
	  complete.
| Boolean—trueif the refresh() was complete,falseif the refresh() is incomplete. | 
| collectionChange | Event | 
mx.events.CollectionEventproperty CollectionEvent.type =
mx.events.CollectionEvent.COLLECTION_CHANGE| Language Version: | ActionScript 3.0 | 
| Product Version: | Flex 3 | 
| Runtime Versions: | Flash Player 9, AIR 1.1 | 
Dispatched when the ICollectionView has been updated in some way.
The CollectionEvent.COLLECTION_CHANGE constant defines the value of thetype property of the event object for an event that is
      dispatched when a collection has changed.
     
      The properties of the event object have the following values. Not all properties are meaningful for all kinds of events. See the detailed property descriptions for more information.
| Property | Value | 
|---|---|
| bubbles | false | 
| cancelable | false | 
| currentTarget | The Object that defines the
           event listener that handles the event. For example, if you use myButton.addEventListener()to register an event listener,
           myButton is the value of thecurrentTarget. | 
| items | An Array of objects with
           information about the items affected by the event.
	 		 The contents of this field depend on the event kind;
	       for details see the itemsproperty | 
| kind | The kind of event. The valid values are defined in the CollectionEventKind class as constants. | 
| location | Location within the target collection
             of the item(s) specified in the itemsproperty. | 
| oldLocation | the previous location in the collection
             of the item specified in the itemsproperty. | 
| target | The Object that dispatched the event;
           it is not always the Object listening for the event.
           Use the currentTargetproperty to always access the
           Object listening for the event. | 
| type | CollectionEvent.COLLECTION_CHANGE | 
Thu Dec 4 2014, 05:50 PM -08:00