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

GroupingField クラスは、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.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

関連項目

mx.controls.AdvancedDataGrid
mx.collections.GroupingCollection
mx.collections.Grouping


パブリックプロパティ
 プロパティ定義元
  caseInsensitive : Boolean
このフィールドのソートで大文字と小文字を区別しない場合、true に設定します。
GroupingField
  compareFunction : Function
関連付けられたコレクションのアイテムをソートするときに 2 つのアイテムを比較する関数です。
GroupingField
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  descending : Boolean
このフィールドのソートが降順の場合、true に設定します。
GroupingField
  groupingFunction : Function
このグループのラベルを決定する関数です。
GroupingField
  groupingObjectFunction : Function
グループ化オブジェクトを決定するために、各グループノードで実行されるコールバック関数です。
GroupingField
  name : String
ソートするフィールドの名前です。
GroupingField
  numeric : Boolean
ソート対象のフィールドに数値(Number/int/uint)または数値を表すストリングが含まれている場合、コンパレータが数値比較を使用するように指定します。
GroupingField
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  summaries : Array
グループレベルの要約を定義する SummaryRow インスタンスの配列です。
GroupingField
パブリックメソッド
 メソッド定義元
  
GroupingField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Boolean = false)
コンストラクタです。
GroupingField
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
caseInsensitiveプロパティ
caseInsensitive:Boolean

このフィールドのソートで大文字と小文字を区別しない場合、true に設定します。

デフォルト値 : false.



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

関連付けられたコレクションのアイテムをソートするときに 2 つのアイテムを比較する関数です。 Grouping オブジェクトの compareFunction プロパティを指定した場合、GroupingField オブジェクトの compareFunction プロパティはすべて無視されます。

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

function myCompare(a:Object, b:Object):int

この関数では、次の値が返される必要があります。

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



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

このフィールドのソートが降順の場合、true に設定します。

デフォルト値 : false.



実装
    public function get descending():Boolean
    public function set descending(value:Boolean):void
groupingFunctionプロパティ 
public var groupingFunction:Function

このグループのラベルを決定する関数です。 デフォルトでは、グループは、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

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

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

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

      myGroupObjectFunction(label:String):Object

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

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

nameプロパティ 
name:String

ソートするフィールドの名前です。

デフォルト値 : null.



実装
    public function get name():String
    public function set name(value:String):void
numericプロパティ 
numeric:Boolean

ソート対象のフィールドに数値(Number/int/uint)または数値を表すストリングが含まれている場合、コンパレータが数値比較を使用するように指定します。 このプロパティが false の場合、数値のストリング表現が含まれるフィールドは、ストリング比較を使用してソートされます。例えば、"1" は "9" よりも小さいストリング値なので、100 は 99 より先に来ます。

デフォルト値 : false.



実装
    public function get numeric():Boolean
    public function set numeric(value:Boolean):void
summariesプロパティ 
public var summaries:Array

グループレベルの要約を定義する 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>  
      

関連項目

コンストラクタの詳細
GroupingField()コンストラクタ
public function GroupingField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Boolean = false)

コンストラクタです。

パラメータ
name:String (default = null) — このフィールドが比較に使用するプロパティの名前です。 オブジェクトが単純型の場合、null を渡します。
 
caseInsensitive:Boolean (default = false) — ストリングをソートする場合は、値の大文字小文字を無視するかどうかをコンパレータに指示します。
 
descending:Boolean (default = false) — アイテムを降順に配置するかどうかをコンパレータに指示します。
 
numeric:Boolean (default = false) — ソートアイテムをアルファベット順ではなく数として比較するかどうかをコンパレータに指示します。




 

 

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

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