パッケージ | mx.collections |
クラス | public class GroupingCollection2 |
継承 | GroupingCollection2 HierarchicalData EventDispatcher Object |
実装 | IGroupingCollection2 |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
メモ:Flex の以前のリリースでは、AdvancedDataGrid コントロールで GroupingCollection クラスを使用していました。 GroupingCollection2 クラスは Flex 4 の新しいクラスで、GroupingCollection よりも高いパフォーマンスを提供します。
グループ化されたデータを AdvancedDataGrid コントロールに格納するには、フラットデータから GroupingCollection2 クラスのインスタンスを作成し、その GroupingCollection2 インスタンスを AdvancedDataGrid コントロールのデータプロバイダーに渡します。フラットデータのグループ化フィールドを指定するには、Grouping インスタンスを GroupingCollection2.grouping
プロパティに渡します。 Grouping インスタンスには、GroupingField インスタンスの配列が含まれます。配列内の GroupingField インスタンスはグループ化フィールドごとに 1 つずつ存在します。
次の例では、GroupingCollection2 クラスを使用して Region と Territory という 2 つのグループ化フィールドを定義しています。
<mx:AdvancedDataGrid id="myADG" <mx:dataProvider> <mx:GroupingCollection2 id="gc" source="{dpFlat}"> <mx:grouping> <mx:Grouping> <mx:GroupingField name="Region"/> <mx:GroupingField name="Territory"/> </mx:Grouping> </mx:grouping> </mx:GroupingCollection2> </mx:dataProvider> <mx:columns> <mx:AdvancedDataGridColumn dataField="Region"/> <mx:AdvancedDataGridColumn dataField="Territory"/> <mx:AdvancedDataGridColumn dataField="Territory_Rep"/> <mx:AdvancedDataGridColumn dataField="Actual"/> <mx:AdvancedDataGridColumn dataField="Estimate"/> </mx:columns> </mx:AdvancedDataGrid>MXML シンタックスMXML シンタックスを隠す
<mx.GroupingCollection2>
inherits all the tag attributes of its superclass,
and defines the following tag attributes:
<mx:GroupingCollection2 Properties grouping="No default" source="No default" summaries="No default" />
デフォルトの MXML プロパティgrouping
さらに例を参照
Using synchronous or asynchronous refresh with the AdvancedDataGrid control
Using the default MXML property of the GroupingCollection2 class
Creating summary rows
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
childrenField : String
データアイテム内の子オブジェクトの検出に使用するフィールド名を示します。 | HierarchicalData | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
grouping : Grouping
ソースデータに適用される Grouping インスタンスを指定します。 | GroupingCollection2 | ||
source : Object [オーバーライド]
グループ化するフラットデータを含むソースコレクションです。 | GroupingCollection2 | ||
summaries : Array
ルートレベルのデータ要約を定義する SummaryRow インスタンスの配列です。 | GroupingCollection2 |
プロパティ | 定義元 | ||
---|---|---|---|
timer : flash.utils:Timer
非同期更新操作に関連付けられたタイマーです。 | GroupingCollection2 |
メソッド | 定義元 | ||
---|---|---|---|
コンストラクターです。 | GroupingCollection2 | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | ||
更新が非同期的に実行される場合、更新操作をキャンセルしてグループの作成を中止します。 | GroupingCollection2 | ||
ノードに子を含めることができる場合は、true を返します。 | HierarchicalData | ||
イベントをイベントフローに送出します。 | EventDispatcher | ||
ノードの子を表すオブジェクトを返します。 | HierarchicalData | ||
ノードからデータを返します。 | HierarchicalData | ||
[オーバーライド]
グループ化プロパティが設定されている場合は super.source を返し、設定されていない場合は super.source を参照する ICollectionView インスタンスを返します。 | GroupingCollection2 | ||
ノードに子がある場合は true を返します。 | HierarchicalData | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
グループ化をコレクションに適用します。 | GroupingCollection2 | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
grouping | プロパティ |
grouping:Grouping
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ソースデータに適用される Grouping インスタンスを指定します。 grouping
プロパティを設定してもビューは自動的には更新されないので、このプロパティを設定した後で refresh()
メソッドを呼び出す必要があります。
実装
public function get grouping():Grouping
public function set grouping(value:Grouping):void
関連する API エレメント
source | プロパティ |
summaries | プロパティ |
public var summaries:Array
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ルートレベルのデータ要約を定義する SummaryRow インスタンスの配列です。 1 つまたは複数の SummaryRow インスタンスを指定してデータ要約を定義します。次に例を示します。
<mx:AdvancedDataGrid id="myADG" width="100%" height="100%" initialize="gc.refresh();"> <mx:dataProvider> <mx:GroupingCollection2 id="gc" source="{dpFlat}"> <mx:summaries> <mx:SummaryRow summaryPlacement="last"> <mx:fields> <mx:SummaryField2 dataField="Actual" label="Min Actual" summaryOperation="MIN"/> <mx:SummaryField2 dataField="Actual" label="Max Actual" summaryOperation="MAX"/> </mx:fields> </mx:SummaryRow> </mx:summaries> <mx:Grouping> <mx:GroupingField name="Region"/> <mx:GroupingField name="Territory"/> </mx:Grouping> </mx:GroupingCollection2> </mx:dataProvider> <mx:columns> <mx:AdvancedDataGridColumn dataField="Region"/> <mx:AdvancedDataGridColumn dataField="Territory_Rep" headerText="Territory Rep"/> <mx:AdvancedDataGridColumn dataField="Actual"/> <mx:AdvancedDataGridColumn dataField="Estimate"/> <mx:AdvancedDataGridColumn dataField="Min Actual"/> <mx:AdvancedDataGridColumn dataField="Max Actual"/> </mx:columns> </mx:AdvancedDataGrid>
関連する API エレメント
timer | プロパティ |
protected var timer:flash.utils:Timer
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
非同期更新操作に関連付けられたタイマーです。 これを使用して、タイミング間隔の変更や更新の一時停止などのアクションを実行できます。 タイマーインスタンスの delay
プロパティのデフォルト値は 1 (1 ミリ秒に相当)です。
GroupingCollection2 | () | コンストラクター |
public function GroupingCollection2()
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
コンストラクターです。
cancelRefresh | () | メソッド |
public function cancelRefresh():void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
更新が非同期的に実行される場合、更新操作をキャンセルしてグループの作成を中止します。 このメソッドは、refresh()
メソッドを true
の asynch
引数(非同期更新を表す)を指定して呼び出した場合にのみ、更新をキャンセルします。
getParent | () | メソッド |
getRoot | () | メソッド |
refresh | () | メソッド |
public function refresh(async:Boolean = false, dispatchCollectionEvents:Boolean = false):Boolean
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
グループ化をコレクションに適用します。コレクションはグループの変更を自動検出しません。したがって、group
、source
または summaries
プロパティを設定した後に、refresh()
メソッドを呼び出して、コレクションを更新する必要があります。また、caseInsensitive
、compareFunction
、groupingFunction
などのプロパティを変更してコレクションの GroupingField を変更したときにも、refresh()
メソッドを呼び出します。
refresh()
メソッドは同期的にも非同期的にも適用できます。
refresh()
を同期的に呼び出した場合、メソッドが返る前に、すべてのグループと要約が一緒に更新されます。つまり、この呼び出し中は他の処理操作をアプリケーションで実行できないという意味です。クライアントは、kind
プロパティの値が CollectionEventKind.REFRESH
に設定された CollectionEvent イベントを待機して、refresh()
メソッドが完了したことを確認する必要があります。
非同期更新では、すべてのグループと要約が個々に更新されます。グループと要約が更新される前に refresh()
メソッドが返るので、アプリケーションは実行を継続できます。また、更新中にコントロールが更新されるので、ユーザーはコントロールとの対話を継続できます。
一括更新と異なり、グループと要約を個々に更新する際のオーバーヘッドがあるので、非同期更新のほうが同期更新よりも処理時間が長くなります。しかし、大規模なデータセットを扱う場合、非同期更新であれば更新中もアプリケーションを継続実行できます。
パラメーター
async:Boolean (default = false ) — true の場合は更新が非同期になります。 デフォルトは false で、同期的に更新されることを示します。
| |
dispatchCollectionEvents:Boolean (default = false ) — true の場合、グループが形成されたときにイベントが送出されます。より高いパフォーマンスを得るには、false に設定します。true の場合、イベントがグループとして送出され、要約が同期的に計算されてコントロールが更新されます。メモ:async が true の場合、dispatchCollectionEvents は常に true に設定されます。デフォルトは、イベント送出が行われない false です。
|
Boolean — true が返されるのは refresh() メソッドが完了した場合です。false が返されるのは更新が完了していない場合です。これはアイテムがまだ保留中であることを意味する場合があります。
|
Tue Jun 12 2018, 10:34 AM Z