パッケージ | mx.collections |
インターフェイス | public interface ICollectionView extends IEventDispatcher |
実装者 | ListCollectionView |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
ICollectionView
は、データのコレクションに対するビューです。 このビューは、様々な条件でソートされたデータ、またはフィルターで絞り込まれたデータを表示するように変更できます。基になるデータは変更されません。 IViewCursor はコレクション内のアイテムへのアクセスを提供します。 IViewCursor インターフェイスの insert()
メソッドおよび remove()
メソッドを使用するとコレクションを変更できます。
ICollectionView
は、リモートから取得したデータに対するビューである可能性があります。 リモートの可能性があるデータでこのインターフェイスを実装する場合は、ItemPendingError
で示される、データを取得できない場合を処理することが重要です。
IList
インターフェイスは ICollectionView
インターフェイスの代わりになります。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
filterFunction : Function
関数の条件に一致しないアイテムを削除するためにビューが使用する関数です。 | ICollectionView | ||
length : int [読み取り専用]
このビュー内のアイテムの数です。 | ICollectionView | ||
sort : ISort
ICollectionView に適用される ISort です。 | ICollectionView |
メソッド | 定義元 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | IEventDispatcher | ||
指定されたオブジェクトをビューに含めるかどうかを返します。 | ICollectionView | ||
このビューに対して使用する新しい IViewCursor を作成します。 | ICollectionView | ||
コレクション自体およびコレクション内のアイテムの変更がビューから送出されないようにします。 | ICollectionView | ||
イベントをイベントフローに送出します。 | IEventDispatcher | ||
自動更新を有効にします。 | ICollectionView | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | IEventDispatcher | ||
itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void
アイテムが更新されたビューを通知します。 | ICollectionView | ||
ビューにソートとフィルターを適用します。 | ICollectionView | ||
EventDispatcher オブジェクトからリスナーを削除します。 | IEventDispatcher | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | IEventDispatcher |
イベント | 概要 | 定義元 | ||
---|---|---|---|---|
ICollectionView が何らかの方法で更新されると送出されます。 | ICollectionView |
filterFunction | プロパティ |
filterFunction:Function
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
関数の条件に一致しないアイテムを削除するためにビューが使用する関数です。 filterFunction のシグネチャは次のとおりになると予想されます。
f(item:Object):Boolean指定されたアイテムがビューに残っている場合、戻り値は
true
です。
フィルターがサポートされない場合、このプロパティにアクセスするとエラーがスローされます。 refresh()
を呼び出す前に、更新するビューについて filterFunction
プロパティを設定する必要があります。
メモ:ICollectionView の実装では、フィルター関数を実行する前にリモートからすべてのアイテムを取得します。 ページングを使用している場合は、データを取得する前にリモートコレクションにフィルターを適用します。
実装
public function get filterFunction():Function
public function set filterFunction(value:Function):void
関連する API エレメント
length | プロパティ |
sort | プロパティ |
sort:ISort
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
ICollectionView に適用される ISort です。ソートを設定してもビューは自動的に更新されないため、このプロパティを設定した後で refresh()
メソッドを呼び出す必要があります。 ソートがサポートされていない場合、このプロパティにアクセスするとエラーがスローされます。
メモ:ICollectionView の実装では、ソートを実行する前にリモートからすべてのアイテムを取得します。 ソートされたリストにページングを使用している場合は、データを取得する前にリモートコレクションにソートを適用します。
実装
public function get sort():ISort
public function set sort(value:ISort):void
関連する API エレメント
contains | () | メソッド |
public function contains(item:Object):Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
指定されたオブジェクトをビューに含めるかどうかを返します。 IViewCursor.findxxx
メソッドの場合とは異なり、この検索が成功するのは、パラメーターに完全に一致するアイテムが見つかったときのみです。 ビューにフィルターが適用されている場合、このメソッドは、基になるコレクションにアイテムが含まれている場合でも false
を返します。
パラメーター
item:Object — 検索対象のオブジェクトです。
|
Boolean — 任意のフィルターを適用した後、ICollectionView にアイテムが含まれている場合は true を返します。それ以外の場合は、false を返します。
|
createCursor | () | メソッド |
public function createCursor():IViewCursor
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
このビューに対して使用する新しい IViewCursor を作成します。
戻り値IViewCursor — 新しい IViewCursor 実装です。
|
disableAutoUpdate | () | メソッド |
public function disableAutoUpdate():void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
コレクション自体およびコレクション内のアイテムの変更がビューから送出されないようにします。 また、コレクション内で位置が変更された場合、ビュー内のアイテムの位置が更新されないようにします。 enableAutoUpdate
が呼び出された後、変更は適切にキューに入れられ、送出されます。 単一のアイテムに対して更新よりも多くのイベントが発生した場合は、ビューがリセットされることがあります。 disableAutoUpdate
メソッドは累積的に動作します。ビューからイベントが送出され、ビューが更新されるには、enableAutoUpdate
が同じ回数呼び出される必要があります。 disableAutoUpdate
は個々のビューでのみ有効であるため、編集は他のビューによって個別に検出されます。
enableAutoUpdate | () | メソッド |
public function enableAutoUpdate():void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
自動更新を有効にします。 詳細については、disableAutoUpdate
を参照してください。
関連する API エレメント
itemUpdated | () | メソッド |
public function itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
アイテムが更新されたビューを通知します。 このメソッドは、ビューのコンテンツが IPropertyChangeNotifier
を実装しない場合に便利です。 このメソッドの呼び出しに property
パラメーターが含まれている場合、ビューは通知メカニズムを最適化できることがあります。 プロパティを指定しないと、ビュー全体の単純な更新が選択されます。
パラメーター
item:Object — 更新されたビュー内のアイテムです。
| |
property:Object (default = null ) — 更新されたプロパティの名前です。
| |
oldValue:Object (default = null ) — そのプロパティの古い値です。 プロパティが null の場合はアイテムの古い値を指定できます。
| |
newValue:Object (default = null ) — そのプロパティの新しい値です。 プロパティが null の場合、アイテムは新しい値と見なされるので、指定する必要はありません。
|
関連する API エレメント
refresh | () | メソッド |
public function refresh():Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
ビューにソートとフィルターを適用します。 ICollectionView は、ソートまたはフィルターの変更を自動検出しません。したがって、refresh()
メソッドを呼び出してビューを更新する前に、sort
プロパティまたは filterFunction
プロパティを設定する必要があります。 ICollectionView が IMXMLObject インターフェイスも実装する場合は、refresh()
メソッドを initialized()
メソッドから呼び出す必要があります。
更新が正常に完了した場合は true
を返し、ソートが完了していない場合(アイテムが保留中の場合など)は false
を返します。 ビューのクライアントは、CollectionEventKind.REFRESH
kind
プロパティを含む CollectionEvent イベントを待機して、refresh()
操作が完了したことを確認する必要があります。
Boolean — refresh() が完了した場合は true 、refresh() が完了していない場合は false です。
|
collectionChange | イベント |
mx.events.CollectionEvent
プロパティ CollectionEvent.type =
mx.events.CollectionEvent.COLLECTION_CHANGE
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
ICollectionView が何らかの方法で更新されると送出されます。
CollectionEvent.COLLECTION_CHANGE 定数は、コレクションが変更されたときに送出されるイベントのイベントオブジェクトのtype
プロパティ値を定義します。
イベントオブジェクトの各プロパティには次の値が設定されています。 イベントの種類によっては無効なプロパティもあります。詳細については、各プロパティの説明を参照してください。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false |
currentTarget | イベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、myButton の値は currentTarget となります。 |
items | イベントの影響を受けるアイテムの情報を持つオブジェクトの配列です。 このフィールドの内容はイベントの種類に応じて異なります。詳細については、items プロパティを参照してください。 |
kind | イベントの種類です。 有効な値が定数として CollectionEventKind クラスに定義されます。 |
location | items プロパティで指定されたアイテムのターゲットコレクション内における位置です。 |
oldLocation | items プロパティで指定されたアイテムのコレクション内における以前の位置です。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。 イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
type | CollectionEvent.COLLECTION_CHANGE |
Tue Jun 12 2018, 10:34 AM Z