| 言語バージョン: | 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):voidTue Jun 12 2018, 10:34 AM Z