(Flex データ視覚化コンポーネントのみ)
パッケージmx.collections
クラスpublic class Grouping
継承Grouping Inheritance Object

Grouping クラスは、データのグループ化に使用する AdvancedDataGrid コントロールのデータプロバイダのフィールドを定義します。 AdvancedDataGrid コントロールへの入力データがフラット構造の場合、このクラスを使用してグループを作成します。

グループ化されたデータを 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 のシンタックスexpandedMXML シンタックスを隠す
The <mx.Grouping> tag defines the following tag attributes:

  <mx:Grouping
  Properties 
    compareFunction="No default"
    fields="null"
    groupingObjectFunction="No default"
    label="GroupLabel"
  />
  

デフォルトの MXML プロパティfields

関連項目

mx.controls.AdvancedDataGrid
mx.collections.GroupingCollection
mx.collections.GroupingField


パブリックプロパティ
 プロパティ定義元
  compareFunction : Function
ソート時にアイテムを比較するために使用するメソッドです。
Grouping
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  fields : Array
データのグループ化に使用するフィールドを指定する GroupingField オブジェクトの配列です。
Grouping
  groupingObjectFunction : Function
グループ化オブジェクトを決定するために、各グループノードで実行されるコールバック関数です。
Grouping
  label : String = "GroupLabel"
階層を作成するためにフラットデータに追加されるフィールドの名前です。
Grouping
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリックメソッド
 メソッド定義元
  
コンストラクタです。
Grouping
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
compareFunctionプロパティ
compareFunction:Function

ソート時にアイテムを比較するために使用するメソッドです。 このプロパティを指定すると、このクラスで使用する SortField オブジェクトに指定した compareFunction プロパティはすべて無視されます。

比較関数には次のシグネチャが必要です。

         function [name](a:Object, b:Object, fields:Array=null):int

この関数は、以下を返す必要があります。

内部比較関数に戻すには、この値を null に設定します。

fields 配列は、比較するオブジェクトフィールドを指定します。 通常は、フィールドリストを使い果たすか、ゼロではない値が返されるまで、このアルゴリズムはプロパティを比較します。 次に実際の使用例を示します。

        function myCompare(a:Object, b:Object, fields:Array=null):int
        {
            var result:int = 0;
            var i:int = 0;
            var propList:Array = fields ? fields : internalPropList;
            var len:int = propList.length;
            var propName:String;
            while (result == 0 && (i < len))
            {
                propName = propList[i];
                result = compareValues(a[propName], b[propName]);
                i++;
            }
            return result;
        }
             function compareValues(a:Object, b:Object):int
        {
            if (a == null && b == null)
                return 0;
                 if (a == null)
              return 1;
                 if (b == null)
               return -1;
                 if (a < b)
                return -1;
                 if (a > b)
                return 1;
                 return 0;
        }

デフォルト値は、ストリング、数値、日付を比較できる内部比較関数です。この比較関数では、昇順または降順での比較が可能で、ストリングの比較に関しては大文字と小文字の区別の有無を指定できます。 カスタム比較アルゴリズムが必要な場合にのみ、独自の関数を指定します。 このことは、通常、計算フィールドが表示で使用される場合にのみ該当します。

また、SortField クラスの compare プロパティを使用することで、各ソートフィールドに対して個別の比較関数を指定することもできます。 こうすれば、一部のフィールドにデフォルトの比較関数を適用し、別のフィールドには独自の比較関数を適用することが可能となります。



実装
    public function get compareFunction():Function
    public function set compareFunction(value:Function):void
fieldsプロパティ 
fields:Array

データのグループ化に使用するフィールドを指定する GroupingField オブジェクトの配列です。 配列内の GroupingField オブジェクトの順序によって、ソート時のフィールドの優先順位が決まります。

デフォルト値 : null.



実装
    public function get fields():Array
    public function set fields(value:Array):void

関連項目

groupingObjectFunctionプロパティ 
public var groupingObjectFunction:Function

グループ化オブジェクトを決定するために、各グループノードで実行されるコールバック関数です。 デフォルトでは、新しいオブジェクトはグループノード用に作成されます。

グループノードに適切なオブジェクトを提供する groupingObjectFunction を指定できます。

メソッドシグネチャは次のとおりです。

      myGroupObjectFunction(label:String):Object

ここで、label には、そのグループノードについて表示される値が含まれます。 戻り値は、グループノードに使用されるオブジェクトです。

例えば、値が "Bob" の "name" プロパティを含むオブジェクトを返す groupingObjectFunction は次のようになります。
      private function groupObjFunction(label:String):Object
      {
          var obj:Object = {};
          obj.name = "Bob";
               return obj;
      }
      

labelプロパティ 
public var label:String = "GroupLabel"

階層を作成するためにフラットデータに追加されるフィールドの名前です。 各グループの最上位ノード(グループフィールドを表すノード)の値が、このプロパティで表されます。 このプロパティを使用して、異なる名前を指定します。

デフォルト値 : GroupLabel.

コンストラクタの詳細
Grouping()コンストラクタ
public function Grouping()

コンストラクタです。





 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/collections/Grouping.html