| パッケージ | mx.collections |
| クラス | public class GroupingField |
| 継承 | GroupingField Object |
| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
グループ化されたデータを AdvancedDataGrid コントロールに格納するには、フラットデータから GroupingCollection クラスのインスタンスを作成し、その GroupingCollection インスタンスを AdvancedDataGrid コントロールのデータプロバイダーに渡します。 フラットデータのグループ化フィールドを指定するには、Grouping インスタンスを GroupingCollection.grouping プロパティに渡します。 Grouping インスタンスには、GroupingField インスタンスの配列が含まれます。配列内の GroupingField インスタンスはグループ化フィールドごとに 1 つずつ存在します。
次の例では、Grouping クラスを使用して Region と Territory という 2 つのグループ化フィールドを定義しています。
<mx:AdvancedDataGrid id="myADG"
<mx:dataProvider>
<mx:GroupingCollection id="gc" source="{dpFlat}">
<mx:grouping>
<mx:Grouping>
<mx:GroupingField name="Region"/>
<mx:GroupingField name="Territory"/>
</mx:Grouping>
</mx:grouping>
</mx:GroupingCollection>
</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.GroupingField> inherits all the tag attributes of its superclass,
and defines the following tag attributes:
<mx:GroupingField
Properties
caseInsensitive="false|true"
compareFunction="No default"
descending="false|true"
groupingFunction="No default"
groupingObjectFunction="No default"
name="null"
numeric="false|true"
summaries="No default"
/>
デフォルトの MXML プロパティsummaries
さらに例を参照
関連する API エレメント
| プロパティ | 定義元 | ||
|---|---|---|---|
| caseInsensitive : Boolean
このフィールドのソートで大文字と小文字を区別しない場合、true に設定します。 | GroupingField | ||
| compareFunction : Function
関連付けられたコレクションのアイテムをソートするときに 2 つのアイテムを比較する関数です。 | GroupingField | ||
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | |
| descending : Boolean
このフィールドのソートが降順の場合、true に設定します。 | GroupingField | ||
| groupingFunction : Function
このグループのラベルを決定する関数です。 | GroupingField | ||
| groupingObjectFunction : Function
グループ化オブジェクトを決定するために、各グループノードで実行されるコールバック関数です。 | GroupingField | ||
| name : String
ソートするフィールドの名前です。 | GroupingField | ||
| numeric : Boolean
ソート対象のフィールドに数値(Number/int/uint)または数値を表すストリングが含まれている場合、コンパレータが数値比較を使用するように指定します。 | GroupingField | ||
| summaries : Array
グループレベルの要約を定義する SummaryRow インスタンスの配列です。 | GroupingField | ||
| メソッド | 定義元 | ||
|---|---|---|---|
GroupingField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Boolean = false)
コンストラクターです。 | GroupingField | ||
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
caseInsensitive | プロパティ |
compareFunction | プロパティ |
compareFunction:Function| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
関連付けられたコレクションのアイテムをソートするときに 2 つのアイテムを比較する関数です。 Grouping オブジェクトの compareFunction プロパティを指定した場合、GroupingField オブジェクトの compareFunction プロパティはすべて無視されます。
比較関数には次のシグネチャが必要です。
function myCompare(a:Object, b:Object):int
この関数では、次の値が返される必要があります。
aがbの前に現れるソート順の場合は -1 です。aがbと等しい場合は 0 です。aがbの後に表示されるソート順の場合は 1 です。
デフォルト値は、ストリング、数値、日付を比較できる内部比較関数です。この比較関数では、昇順または降順での比較が可能で、ストリングの比較に関しては大文字と小文字の区別の有無を指定できます。 カスタム比較アルゴリズムが必要な場合にのみ、独自の関数を指定します。 このことは、通常、計算フィールドが表示で使用される場合にのみ該当します。
実装
public function get compareFunction():Function public function set compareFunction(value:Function):voiddescending | プロパティ |
groupingFunction | プロパティ |
public var groupingFunction:Function| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
このグループのラベルを決定する関数です。 デフォルトでは、グループは、name プロパティが指定したフィールドと一致するデータ内のフィールドテキストを表示します。 しかし場合によっては、データ内の複数のフィールドに基づいてアイテムをグループ化したり、単純なストリングフィールドではないものに基づいてグループ化したりしたいこともあります。 そのような場合は、groupingFunction プロパティを使用して、コールバック関数を指定します。
コールバック関数では、月の数字を月のストリングに変換したり、フィールドの実際の値以外の条件に基づいて複数のアイテムを単純なグループにまとめたりできます。
GroupField の場合、メソッドシグネチャの形式は次のようになります。
groupingFunction(item:Object, field:GroupField):String
ここで、item はデータアイテムオブジェクトを示し、field は GroupField オブジェクトを示します。
groupingFunction は次のようになります。
private function groupFunc(item:Object, field:GroupingField):String
{
return item[field.name].toString().substr(0, 1);
}
groupingObjectFunction | プロパティ |
public var groupingObjectFunction:Function| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
グループ化オブジェクトを決定するために、各グループノードで実行されるコールバック関数です。 デフォルトでは、新しいオブジェクトはグループノード用に作成されます。
グループノードに適切なオブジェクトを提供する groupingObjectFunction を指定できます。
メソッドシグネチャは次のとおりです。
myGroupObjectFunction(label:String):Object
ここで、label には、そのグループノードについて表示される値が含まれます。 関数は、グループノードに使用されるオブジェクトを返します。
groupingObjectFunction は次のようになります。
private function groupObjFunction(label:String):Object
{
var obj:Object = {};
obj.name = "Bob";
return obj;
}
name | プロパティ |
numeric | プロパティ |
numeric:Boolean| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
ソート対象のフィールドに数値(Number/int/uint)または数値を表すストリングが含まれている場合、コンパレータが数値比較を使用するように指定します。 このプロパティが false の場合、数値のストリング表現が含まれるフィールドは、ストリング比較を使用してソートされます。例えば、"1" は "9" よりも小さいストリング値なので、100 は 99 より先に来ます。
デフォルト値: false。
実装
public function get numeric():Boolean public function set numeric(value:Boolean):voidsummaries | プロパティ |
public var summaries:Array| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
グループレベルの要約を定義する SummaryRow インスタンスの配列です。 1 つまたは複数の SummaryRow インスタンスを指定してデータ要約を定義します。次に例を示します。
<mx:AdvancedDataGrid id="myADG"
width="100%" height="100%"
initialize="gc.refresh();">
<mx:dataProvider>
<mx:GroupingCollection id="gc" source="{dpFlat}">
<mx:Grouping>
<mx:GroupingField name="Region">
<mx:summaries>
<mx:SummaryRow summaryPlacement="group">
<mx:fields>
<mx:SummaryField dataField="Actual"
label="Min Actual" operation="MIN"/>
<mx:SummaryField dataField="Actual"
label="Max Actual" operation="MAX"/>
</mx:fields>
</mx:SummaryRow>
</mx:summaries>
</mx:GroupingField>
</mx:Grouping>
</mx:GroupingCollection>
</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 エレメント
GroupingField | () | コンストラクター |
public function GroupingField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Boolean = false)| 言語バージョン: | ActionScript 3.0 |
| 製品バージョン: | Flex 3 |
| ランタイムバージョン: | Flash Player 9, AIR 1.1 |
コンストラクターです。
パラメーターname:String (default = null) — このフィールドが比較に使用するプロパティの名前です。 オブジェクトが単純型の場合、null を渡します。
| |
caseInsensitive:Boolean (default = false) — ストリングをソートする場合は、値の大文字小文字を無視するかどうかをコンパレータに指示します。
| |
descending:Boolean (default = false) — アイテムを降順に配置するかどうかをコンパレータに指示します。
| |
numeric:Boolean (default = false) — ソートアイテムをアルファベット順ではなく数として比較するかどうかをコンパレータに指示します。
|
Tue Jun 12 2018, 10:34 AM Z
MXML シンタックスを表示