言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
text
プロパティに割り当てることがあります。 この場合、データバインディングを使用すると容易に記述できますが、DataGrid の別の列や異なるフィールドを持つ別の List でレンダラーを再使用できなくなります。 IDropInListItemRenderer を使用すると、レンダラーを再使用できます。 リストクラスからレンダラーに渡される情報が増加するので、実行時に使用するフィールドをレンダラーが判断できるようになります。
ドロップインアイテムレンダラーまたはドロップインアイテムエディターとして使用するコンポーネントは、IDropInListItemRenderer インターフェイスを実装する必要があります。 多くの Flex コンポーネントはこのインターフェイスを実装しているので、あらゆる列やリストでドロップインアイテムレンダラーおよびドロップインアイテムエディターとして使用できます。
ドロップインアイテムレンダラーまたはドロップインアイテムエディターは、data
プロパティを定義するために IDataRenderer インターフェイスも実装する必要があります。
ドロップインアイテムレンダラーまたはドロップインアイテムエディターとして使用すると、このコンポーネントの listData
プロパティが、リストコントロールからの該当するデータで初期化されます。 その後、コンポーネントでこの listData
プロパティを使用して、ドロップインアイテムレンダラーまたはドロップインアイテムエディターの data
プロパティを初期化できます。
listData
プロパティのタイプは BaseListData です。BaseListData クラスには、DataGridListData、ListData、TreeListData および MenuListData の 4 つのサブクラスがあります。 listData
プロパティの値の実際のデータ型は、ドロップインアイテムレンダラーまたはドロップインアイテムエディターを使用するコントロールによって異なります。 値の型は、DataGrid コントロールでは DataGridListData、List コントロールでは ListData、Tree コントロールでは TreeListData、Menu コントロールでは MenuListData です。
次の例は、NumericStepper コントロールの data
プロパティの setter メソッドを示しています。このメソッドは、NumericStepper の value
プロパティを初期化します。listData
プロパティの値に基づいています。
public function set data(value:Object):void { _data = value; this.value = _listData ? parseFloat(_listData.label) : Number(_data); dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); }
上記の例では、NumericStepper コントロールは NumericStepper の data
プロパティを無視し(value
プロパティの設定時)、代わりに listData
プロパティを使用します。
IDropInListItemRenderer インターフェイスを実装するには、listData
プロパティを実装する setter メソッドと getter メソッドを定義します。 通常、setter メソッドは listData
プロパティの値を内部変数に書き込みます。 リストクラスでは、常にこのプロパティを割り当ててから、data
プロパティでデータプロバイダーアイテムを設定します。
listData
プロパティの setter メソッドは、イベントを送出しません。 これは、リストクラスでは、常に listData
を設定してから data
プロパティを設定するためです。 data
プロパティを設定すると、dataChange
イベントも送出されます。 listData
を単独で設定することはないので、独自のイベントを送出する必要はありません。
コントロールがそれ自体を更新するために必要な何らかの操作を実行した場合、data
の setter メソッドは invalidateProperties()
メソッドを呼び出すことができます。 その後コンポーネントの開発者は、commitProperties()
メソッドを作成して listData
が変更されていることを判別し、適切に処理します。
次の例に示すように、getter メソッドは内部変数の現在の値を返します。
// Internal variable for the property value. private var _listData:BaseListData; // Make the listData property bindable. [Bindable("dataChange")] // Define the getter method. public function get listData():BaseListData { return _listData; } // Define the setter method, public function set listData(value:BaseListData):void { _listData = value; }
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
listData : BaseListData
setter メソッドと getter メソッドを使用して、listData プロパティを実装します。 | IDropInListItemRenderer |
listData | プロパティ |
listData:BaseListData
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
setter メソッドと getter メソッドを使用して、listData
プロパティを実装します。
実装
public function get listData():BaseListData
public function set listData(value:BaseListData):void
Tue Jun 12 2018, 10:34 AM Z