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