メソッド | プロパティ | イベント フレームあり | フレームなし

mx.controls.listclasses
DataProvider クラス




DataProvider クラス
Object の拡張

データプロバイダは、DataProvider インターフェイスをサポートするオブジェクトまたはクラスのインスタンスです。このクラス定義は、Array クラスにメソッドを追加し、Array を使用して List に基づくクラスにデータを提供できるようにします。データプロバイダは、これらのメソッドをサポートしていれば、配列である必要はありません。またデータプロバイダは、管理しているデータセットが変更されたとき、modelChanged イベントを送り出す必要があります。したがって、各データプロバイダは、mx.events.EventDispatcher のイベントメソッドを含む必要があります。



メソッド
       addItem( value) :  Void
配列の末尾にアイテムを追加します。
       addItemsAt( index:Number, newItems:Array) :  Void
配列にアイテムをいくつか追加します。
       editField( index:Number, fieldName:String, newData) :  Void
データプロバイダにある 1 つのアイテムのフィールドを 1 つ変更します。
       getEditingData( index:Number, fieldName:String)
データプロバイダのアイテムにあるフィールドから、編集するデータを取得します。
       getItemAt( index:Number)
指定の位置にあるアイテムを返します。
       getItemID( index:Number) :  Number
アイテムの一意の ID を返します。
       removeAll( ) :  Void
すべてのアイテムをデータプロバイダから削除します。
       removeItemAt( index:Number)
指定の位置にあるアイテムを削除します。
       replaceItemAt( index:Number, itemObj) :  Void
指定の位置にあるアイテムを置き換えます。
       sortItems( compareFunc, optionFlags) :  Void
リストをソートします。
       sortItemsBy( fieldName, order) :  Void
指定したフィールドでリストをソートします。



プロパティ
       length:Number
データプロバイダ内のアイテムの数を含みます。



イベント
modelChangedデータプロバイダ内のデータが変更され、そのデータプロバイダを表示しているコンポーネントの更新が必要な場合にブロードキャストします。イベントオブジェクトの target プロパティには、このイベントをトリガしたコンポーネントへの参照が設定されます。イベントオブジェクトの type プロパティには、イベント名 modelChanged が設定されます。イベントオブジェクトの eventName プロパティは、次のいずれかの値になります。
  • addItems - firstItem プロパティと lastItem プロパティは、新しく追加されたアイテムのインデックスを示します。
  • removeItems - firstItem プロパティと lastItem プロパティは、削除されたアイテムのインデックスを示します。
  • updateItems - firstItem プロパティと lastItem プロパティは、更新されたアイテムのインデックスを示します。
  • sort - データ全体がソートされています。
  • updateField - 対象の行またはアイテムのデータにあるセルまたはフィールドが編集されたことを示します。firstItem プロパティと lastItem プロパティは、更新されたアイテムのインデックスを示します。また fieldName は、そのアイテムの中で変更されたフィールドの名前を示します。
  • filterModel - データセットがフィルタにかけられているか、またはフィルタが変更あるいは削除されています。
  • updateAll - データが完全に置き換えられているか、大きく変更されているため、データを表示しているコンポーネントがアイテム数を再確認し、すべてのデータを再度要求する必要があります。
アイテムのツリーを階層的に表示するデータプロバイダもあります。これらのデータプロバイダは、別途説明する eventName プロパティも備えています。



メソッドの詳細

addItem

addItem( value) :  Void

配列の末尾にアイテムを追加します。eventName が additems に設定された modelChanged イベントを送り出します。

パラメータ
    value - 追加するアイテムです。ストリングとオブジェクトのどちらでも指定できます。


addItemsAt

addItemsAt( index:Number, newItems:Array) :  Void

配列にアイテムをいくつか追加します。eventName が additems に設定された modelChanged イベントを送り出します。インデックスが有効であるかどうかはチェックされません。

パラメータ
    index:Number - 挿入するアイテムの位置です。
    newItems:Array - 追加する新規アイテムの配列です。


editField

editField( index:Number, fieldName:String, newData) :  Void

データプロバイダにある 1 つのアイテムのフィールドを 1 つ変更します。Flex では、編集可能な DataGrid などのコントロールによってフィールドの値が変更されると、このメソッドが呼び出されます。変更されたデータは、編集を実行したユーザーが使用した形式になっているので、基本的なデータ型に変換する必要があります。

パラメータ
    index:Number - アイテムのインデックスです。
    fieldName:String - 編集するフィールドの名前です。
    newData - フィールドの新規データです。


getEditingData

getEditingData( index:Number, fieldName:String)

データプロバイダのアイテムにあるフィールドから、編集するデータを取得します。戻り値の型は、データプロバイダ内の情報によって決まります。このデータは、そのフィールドに表示されるストリングと同じである必要はありません。編集者が低レベルのデータを取得して、独自の表示ストリングを作成する可能性があるからです。

パラメータ
    index:Number - アイテムのインデックスです。
    fieldName:String - 編集するフィールドの名前です。


getItemAt

getItemAt( index:Number)

指定の位置にあるアイテムを返します。インデックスが有効であるかどうかはチェックされません。

パラメータ
    index:Number - 返すアイテムの位置です。

戻り値
     指定の位置にあるアイテムを返します。


getItemID

getItemID( index:Number) :  Number

アイテムの一意の ID を返します。すべてのアイテムは一意の ID を持つ必要があります。アイテムの削除や追加が可能な場合、アイテムのインデックスを ID とすることはできません。インデックスが有効であるかどうかはチェックされません。

パラメータ
    index:Number - アイテムの位置です。


removeAll

removeAll( ) :  Void

すべてのアイテムをデータプロバイダから削除します。eventName が removeItems に設定された modelChanged イベントを送り出します。


removeItemAt

removeItemAt( index:Number)

指定の位置にあるアイテムを削除します。eventName が removeItems に設定された modelChanged イベントを送り出します。インデックスが有効であるかどうかはチェックされません。

パラメータ
    index:Number - 削除するアイテムの位置です。

戻り値
     削除されるアイテムです。この戻り値の型には、ストリングとオブジェクトのどちらも可能です。


replaceItemAt

replaceItemAt( index:Number, itemObj) :  Void

指定の位置にあるアイテムを置き換えます。eventName が updateItems に設定された modelChanged イベントを送り出します。インデックスが有効であるかどうかはチェックされません。

パラメータ
    index:Number - 置き換えるアイテムの位置です。
    itemObj - 現在のアイテムと置き換える新規アイテムです。


sortItems

sortItems( compareFunc, optionFlags) :  Void

リストをソートします。compareFunc は 3 つのパラメータを取ります。1 つ目のパラメータを 2 つ目のパラメータの前にソートする必要がある場合は、-1 を返します。2 つのパラメータが同等である場合は、0 を返します。1 つ目のパラメータを 2 つ目のパラメータの後にソートする必要がある場合は、+1 を返します。3 つ目のパラメータは、ソート方向、大文字と小文字の区別などを示す、Array クラスからのフラグのビットマスクです。このビューおよびデータプロバイダの他のビューは、直ちに更新されます。

メソッドシグネチャは sortItems(compareFunc:Function, flags:Number) です。

パラメータ
    compareFunc - 比較に使用する関数です。
    optionFlags - オプションの 1 またはそれ以上の数で、| (ビット単位の OR) 演算子で区切られます。これにより、デフォルトのソートの動作を変更します。次の値を指定できます。



sortItemsBy

sortItemsBy( fieldName, order) :  Void

指定したフィールドでリストをソートします。このメソッドは、データがストリングであるか数値であるかを判別し、それに応じてソートを試みます。日時のデータによるソートには、sortItems() メソッドを使用する必要があります。このビューおよびデータプロバイダの他のビューは直ちに更新されます。

メソッドシグネチャは sortItemsBy(fieldName:String, order:String) です。

パラメータ
    fieldName - ソートするフィールドです。
    order - 昇順の場合は "asc"、降順の場合は "desc" です。



プロパティの詳細

length

length:Number  

データプロバイダ内のアイテムの数を含みます。