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):void
Related 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):void
Related 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.
ReturnsIViewCursor — 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 — true if the refresh() was complete,
false if the refresh() is incomplete.
|
collectionChange | Event |
mx.events.CollectionEvent
property 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 the currentTarget . |
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 items property |
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 items property. |
oldLocation | the previous location in the collection
of the item specified in the items property. |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
type | CollectionEvent.COLLECTION_CHANGE |
Wed Nov 21 2018, 06:34 AM -08:00