パッケージmx.collections
インターフェイスpublic interface IViewCursor extends IEventDispatcher

コレクションビューを双方向に列挙するためのインターフェイスを定義します。 このカーソルによって、検索、シーク、およびブックマークの各機能、および挿入と削除による変更機能が利用できます。 カーソルが最初にビューから取得されると(通常は ICollectionView createCursor() メソッドを使用)、ビューが空でない限り、current プロパティの値はビューの最初のアイテムとなります。

関連項目

Using Data Providers and Collections


パブリックプロパティ
 プロパティ定義元
  afterLast : Boolean
[読み取り専用] カーソルがビュー内の最後のアイテムの後にある場合、このプロパティは true になります。
IViewCursor
  beforeFirst : Boolean
[読み取り専用] カーソルがビュー内の最初のアイテムの前にある場合、このプロパティは true になります。
IViewCursor
  bookmark : CursorBookmark
[読み取り専用] current プロパティが返したアイテムに対応するブックマークにアクセスできるようにします。
IViewCursor
  current : Object
[読み取り専用] ソースコレクション内でこのカーソルが参照する位置にあるオブジェクトにアクセスできるようにします。
IViewCursor
  view : ICollectionView
[読み取り専用] このカーソルと関連付けられた ICollectionView への参照です。
IViewCursor
パブリックメソッド
 メソッド定義元
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
IEventDispatcher
 Inherited
イベントをイベントフローに送出します。
IEventDispatcher
  
コレクション内で指定されたプロパティを持つアイテムを探し、そのアイテムにカーソルを移動します。
IViewCursor
  
コレクション内で指定されたプロパティを持つ最初のアイテムを探し、そのアイテムにカーソルを移動します。
IViewCursor
  
コレクション内で指定されたプロパティを持つ最後のアイテムを探し、そのアイテムにカーソルを移動します。
IViewCursor
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
IEventDispatcher
  
現在のカーソル位置の前に指定したアイテムを挿入します。
IViewCursor
  
コレクション内の次のアイテムにカーソルを移動します。
IViewCursor
  
コレクション内の前のアイテムにカーソルを移動します。
IViewCursor
  
現在のアイテムを削除し、その現在のアイテムを返します。
IViewCursor
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
IEventDispatcher
  
seek(bookmark:CursorBookmark, offset:int = 0, prefetch:int = 0):void
指定されたブックマークから離れたオフセット位置にカーソルを移動します。
IViewCursor
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
IEventDispatcher
イベント
 イベント 概要 定義元
  カーソルの位置が更新されると常に送出されます。IViewCursor
プロパティの詳細
afterLastプロパティ
afterLast:Boolean  [読み取り専用]

カーソルがビュー内の最後のアイテムの後にある場合、このプロパティは true になります。 ICollectionView が空(長さ == 0)の場合、このプロパティは true になります。

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 cursorUpdate イベントが送出されます。



実装
    public function get afterLast():Boolean
beforeFirstプロパティ 
beforeFirst:Boolean  [読み取り専用]

カーソルがビュー内の最初のアイテムの前にある場合、このプロパティは true になります。 ICollectionView が空(長さ == 0)の場合、このプロパティは true になります。

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 cursorUpdate イベントが送出されます。



実装
    public function get beforeFirst():Boolean
bookmarkプロパティ 
bookmark:CursorBookmark  [読み取り専用]

current プロパティが返したアイテムに対応するブックマークにアクセスできるようにします。 ブックマークを使用して、前にアクセスしたアイテム、またはそのアイテムと相対的な位置にカーソルを移動できます。 詳細については、seek() メソッドを参照してください。

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 cursorUpdate イベントが送出されます。



実装
    public function get bookmark():CursorBookmark

関連項目

currentプロパティ 
current:Object  [読み取り専用]

ソースコレクション内でこのカーソルが参照する位置にあるオブジェクトにアクセスできるようにします。 カーソルがコレクションの末尾を越えた場所にある場合(beforeFirstafterLast)、null を返します。

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 cursorUpdate イベントが送出されます。



実装
    public function get current():Object

関連項目

viewプロパティ 
view:ICollectionView  [読み取り専用]

このカーソルと関連付けられた ICollectionView への参照です。



実装
    public function get view():ICollectionView
メソッドの詳細
findAny()メソッド
public function findAny(values:Object):Boolean

コレクション内で指定されたプロパティを持つアイテムを探し、そのアイテムにカーソルを移動します。 アイテムが見つからない場合は、カーソル位置は変更されません。

findAny() メソッドは、ソートされたビューに対してのみ呼び出すことができます。ビューがソートされていない場合は、CursorError がスローされます。

関連付けられたコレクションがリモートで、すべてのアイテムがローカルにキャッシュされているわけではない場合、このメソッドはリモートコレクションから非同期取得を開始します。 処理中の取得要求が存在する場合、このメソッドはその要求の処理が完了するまで待機してから、別の取得要求を送信します。

複数のアイテムが検索条件に一致する場合は、検索されたアイテムは非決定的です。 一意ではないインデックス内で最初または最後のアイテムを検索する場合は、findFirst() または findLast() メソッドを使用します。

データがローカルではなく、非同期処理を実行する必要がある場合は、ItemPendingError がスローされます。

パラメータ

values:Object — 検索条件です。オブジェクトの値は、結合配列 (検索する実際のオブジェクト) のように、名前と値のペアとして設定する必要があります。指定した名前の値は、ソートで指定したプロパティと一致する必要があります。 たとえば、プロパティ xy、および z が現在のソートに含まれている場合であれば、値 {x: x-value, y: y-value, z: z-value} を指定します。

戻り値
Boolean — すべてのデータがローカルの場合、このメソッドは、アイテムが見つかる場合は true を返し、見つからない場合は false を返します。

関連項目

findFirst()メソッド 
public function findFirst(values:Object):Boolean

コレクション内で指定されたプロパティを持つ最初のアイテムを探し、そのアイテムにカーソルを移動します。 アイテムが見つからない場合は、カーソル位置は変更されません。

findFirst() メソッドは、ソートされたビューに対してのみ呼び出すことができます。ビューがソートされていない場合は、CursorError がスローされます。

関連付けられたコレクションがリモートで、すべてのアイテムがローカルにキャッシュされているわけではない場合、このメソッドはリモートコレクションから非同期取得を開始します。 処理中の取得要求が存在する場合、このメソッドはその要求の処理が完了するまで待機してから、別の取得要求を送信します。

一意ではないインデックス内で、検索されるのが最初のアイテムでなくてもかまわない場合は、findAny() を使用すると、findFirst() method より若干速く処理できます。

データがローカルではなく、非同期処理を実行する必要がある場合は、ItemPendingError がスローされます。

パラメータ

values:Object — 検索条件です。オブジェクトの値は、結合配列 (検索する実際のオブジェクト) のように、名前と値のペアとして設定する必要があります。指定した名前の値は、ソートで指定したプロパティと一致する必要があります。 たとえば、プロパティ xy、および z が現在のソートに含まれている場合であれば、値 {x: x-value, y: y-value, z: z-value} を指定します。

戻り値
Boolean — すべてのデータがローカルの場合、このメソッドは、アイテムが見つかる場合は true を返し、見つからない場合は false を返します。

関連項目

findLast()メソッド 
public function findLast(values:Object):Boolean

コレクション内で指定されたプロパティを持つ最後のアイテムを探し、そのアイテムにカーソルを移動します。 アイテムが見つからない場合は、カーソル位置は変更されません。

findLast() メソッドは、ソートされたビューに対してのみ呼び出すことができます。ビューがソートされていない場合は、CursorError がスローされます。

関連付けられたコレクションがリモートで、すべてのアイテムがローカルにキャッシュされているわけではない場合、このメソッドはリモートコレクションから非同期取得を開始します。 処理中の取得要求が存在する場合、このメソッドはその要求の処理が完了するまで待機してから、別の取得要求を送信します。

一意ではないインデックス内で、検索されるのが最後のアイテムでなくてもかまわない場合は、findAny() を使用すると、若干速く処理できます。

データがローカルではなく、非同期処理を実行する必要がある場合は、ItemPendingError がスローされます。

パラメータ

values:Object — 検索条件です。オブジェクトの値は、結合配列 (検索する実際のオブジェクト) のように、名前と値のペアとして設定する必要があります。指定した名前の値は、ソートで指定したプロパティと一致する必要があります。 たとえば、プロパティ xy、および z が現在のソートに含まれている場合であれば、値 {x: x-value, y: y-value, z: z-value} を指定します。

戻り値
Boolean — すべてのデータがローカルの場合、このメソッドは、アイテムが見つかる場合は true を返し、見つからない場合は false を返します。

関連項目

insert()メソッド 
public function insert(item:Object):void

現在のカーソル位置の前に指定したアイテムを挿入します。 カーソルが afterLast の場合、アイテムはビューの末尾に挿入されます。 空ではないビューでカーソルが beforeFirst の場合は、エラーがスローされます。

パラメータ

item:Object — 現在のカーソル位置の前に挿入するアイテムです。

moveNext()メソッド 
public function moveNext():Boolean

コレクション内の次のアイテムにカーソルを移動します。 移動すると、current プロパティが更新され、この新しい位置にあるオブジェクトが参照されます。 true を返すのは、結果の current プロパティが有効な場合、false を返すのは、有効でない場合です(プロパティの値が afterLast の場合)。

データがローカルではなく、非同期処理を実行する必要がある場合は、ItemPendingError がスローされます。 ItemPendingError の使用の詳細については、ItemPendingError およびコレクションの説明を参照してください。

戻り値
Boolean — まだリスト内の場合は true になります。false になるのは、current の最初の値または現在の値が afterLast の場合です。

関連項目



例の使用法
      var myArrayCollection:ICollectionView = new ArrayCollection([ "Bobby", "Mark", "Trevor", "Jacey", "Tyler" ]);
      var cursor:IViewCursor = myArrayCollection.createCursor();
      while (!cursor.afterLast)
      {
          trace(cursor.current);
          cursor.moveNext();
      }
      
movePrevious()メソッド 
public function movePrevious():Boolean

コレクション内の前のアイテムにカーソルを移動します。 移動すると、current プロパティが更新され、この新しい位置にあるオブジェクトが参照されます。 true を返すのは、結果の current プロパティが有効な場合、false を返すのは、有効でない場合です(プロパティの値が beforeFirst の場合)。

データがローカルではなく、非同期処理を実行する必要がある場合は、ItemPendingError がスローされます。 ItemPendingError の使用の詳細については、ItemPendingError およびコレクションの説明を参照してください。

戻り値
Boolean — まだリスト内の場合は true になります。false になるのは、current の最初の値または現在の値が beforeFirst の場合です。次に例を示します。
      var myArrayCollection:ICollectionView = new ArrayCollection([ "Bobby", "Mark", "Trevor", "Jacey", "Tyler" ]);
      var cursor:IViewCursor = myArrayCollection.createCursor();
      cursor.seek(CursorBookmark.last);
      while (!cursor.beforeFirst)
      {
          trace(current);
          cursor.movePrevious();
      }
      

関連項目

remove()メソッド 
public function remove():Object

現在のアイテムを削除し、その現在のアイテムを返します。 カーソルの位置が beforeFirst または afterLast の場合、CursorError をスローします。 最後のアイテム以外のアイテムを削除する場合、カーソルは次のアイテムに移動します。 最後のアイテムを削除すると、カーソルは AFTER_LAST ブックマークに置かれます。

削除されたアイテムの次のアイテムがローカルではなく、非同期処理を実行する必要がある場合は、ItemPendingError がスローされます。 ItemPendingError の使用の詳細については、ItemPendingError およびコレクションの説明を参照してください。

戻り値
Object — 削除されたアイテムです。

関連項目

seek()メソッド 
public function seek(bookmark:CursorBookmark, offset:int = 0, prefetch:int = 0):void

指定されたブックマークから離れたオフセット位置にカーソルを移動します。 負のオフセットを指定することもできます。この場合カーソルは、指定されたブックマークより、offset に指定したアイテム数だけ手前の位置に配置されます。

関連付けられたコレクションがリモートで、すべてのアイテムがローカルでキャッシュされているわけではない場合、このメソッドはリモートコレクションから非同期取得を開始します。

データがローカルではなく、非同期処理を実行する必要がある場合は、ItemPendingError がスローされます。 ItemPendingError の使用の詳細については、ItemPendingError およびコレクションの説明を参照してください。

パラメータ

bookmark:CursorBookmark — 特定の位置に再配置できるマーカー情報への CursorBookmark 参照です。 このパラメータには、bookmark プロパティから返された値を設定することも、次のいずれかのブックマーク定数値を設定することもできます。
  • CursorBookmark.FIRST は、コレクションの先頭(最初のエレメント)からシークします。
  • CursorBookmark.CURRENT は、コレクションの現在の位置からシークします。
  • CursorBookmark.LAST は、コレクションの末尾(最後のエレメント)からシークします。
 
offset:int (default = 0) — 指定されたブックマークからシークする距離を示します。 負の数を指定すると、カーソルは指定のブックマークより手前の位置への移動を試みます。 指定されたオフセットがコレクションの末尾を越える場合、カーソルはコレクションの末尾から離れて、beforeFirst または afterLast の位置に配置されます。
 
prefetch:int (default = 0) — リモートデータに使用されます。 シーク処理が完了した後、特定の方向に繰り返し処理を実行することを示します。 これにより、シーク時に必要なネットワークラウンドトリップ回数が減少します。 要求時に反復方向がわかっている場合は、要求の前に適切な量のデータが返され、要求の繰り返し処理を実行できます。

関連項目

イベントの詳細
cursorUpdate イベント
イベントオブジェクトの型: mx.events.FlexEvent
プロパティ FlexEvent.type = mx.events.FlexEvent.CURSOR_UPDATE

カーソルの位置が更新されると常に送出されます。

FlexEvent.CURSOR_UPDATE 定数により、イベントオブジェクトの type プロパティ値が cursorUpdate イベント用に定義されます。

イベントオブジェクトの各プロパティには次の値が設定されています。

プロパティ
bubblesfalse
cancelablefalse
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は myButton となります。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/collections/IViewCursor.html