ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
mx.collections 

Grouping  - AS3 Flex

Paketmx.collections
Klassepublic class Grouping
VererbungGrouping Inheritance Object

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Die Grouping-Klasse definiert die Felder im Datenprovider des AdvancedDataGrid-Steuerelements, die zum Gruppieren von Daten verwendet werden. Sie können diese Klasse zum Erstellen von Gruppen verwenden, wenn die Eingabedaten für das AdvancedDataGrid-Steuerelement eine flache Struktur haben.

Um das AdvancedDataGrid-Steuerelement mit gruppierten Daten auszufüllen, erstellen Sie aus den flachen Daten eine Instanz der GroupingCollection-Klasse und übergeben dann diese GroupingCollection-Instanz an den Datenprovider des AdvancedDataGrid-Steuerelements. Um die Gruppierungsfelder der flachen Daten anzugeben, übergeben Sie eine Grouping-Instanz an die GroupingCollection.grouping-Eigenschaft. Die Grouping-Instanz enthält ein Array von GroupingField-Instanzen, eine pro Gruppierungsfeld.

Das folgende Beispiel verwendet die Grouping-Klasse zur Definition von zwei Gruppierungsfeldern: „Region“ und „Territory“.

  <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-SyntaxexpandedMXML-Syntax ausblenden
The <mx.Grouping> tag defines the following tag attributes:

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

Standard-MXML-Eigenschaftfields

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
  compareFunction : Function
Die Methode, die für den Vergleich von Elementen bei der Sortierung verwendet wird.
Grouping
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  fields : Array
Ein Array von GroupingField-Objekten, das die Felder festlegt, die zum Gruppieren der Daten verwendet werden.
Grouping
  groupingObjectFunction : Function
Eine Callback-Funktion, die für jeden Gruppenknoten zum Bestimmen des Gruppierungsobjekts ausgeführt werden soll.
Grouping
  label : String = "GroupLabel"
Der Name des Felds, das den flachen Daten hinzugefügt werden soll, um die Hierarchie zu erstellen.
Grouping
Öffentliche Methoden
 MethodeDefiniert von
  
Konstruktor.
Grouping
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftendetails

compareFunction

Eigenschaft
compareFunction:Function

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Die Methode, die für den Vergleich von Elementen bei der Sortierung verwendet wird. Wenn Sie diese Eigenschaft angeben, ignoriert Flex alle compareFunction-Eigenschaften, die Sie in den SortField-Objekten angeben, die Sie in dieser Klasse verwenden.

Die Vergleichsfunktion muss folgende Signatur haben:

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

Diese Funktion muss Folgendes zurückgeben:

  • -1, wenn a in der sortierten Sequenz vor b erscheinen soll.
  • 0, wenn a gleich b ist.
  • -1, wenn a in der sortierten Sequenz nach b erscheinen soll.

Um zur internen Vergleichsfunktion zurückzukehren, setzen Sie diesen Wert auf null.

Das fields-Array gibt die zu vergleichenden Objektfelder an. Normalerweise vergleicht der Algorithmus Eigenschaften, bis die Feldliste abgearbeitet wurde oder ein Wert ungleich Null zurückgegeben werden kann. Beispiel:

        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;
        }

Der Standardwert ist eine interne Vergleichsfunktion, die einen Vergleich von Strings, numerischen Werten oder Datumsangaben in aufsteigender oder absteigender Reihenfolge durchführen kann, wobei die Stringvergleiche zwischen Groß- und Kleinschreibung unterscheiden können. Geben Sie Ihre eigene Funktion nur an, wenn ein benutzerdefinierter Vergleichsalgorithmus erforderlich ist. Dies ist normalerweise nur der Fall, wenn ein berechnetes Feld in einer Anzeige verwendet wird.

Alternativ dazu können Sie für jedes Sortierfeld mithilfe der compare-Eigenschaft der SortField-Klasse eigene Vergleichsfunktionen festlegen. Auf diese Weise können Sie für bestimmte Felder den Standardvergleich und für andere Felder einen benutzerdefinierten Vergleich verwenden.



Implementierung
    public function get compareFunction():Function
    public function set compareFunction(value:Function):void

fields

Eigenschaft 
fields:Array

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Ein Array von GroupingField-Objekten, das die Felder festlegt, die zum Gruppieren der Daten verwendet werden. Die Reihenfolge der GroupingField-Objekte im Array bestimmt die Reihenfolge der Feldpriorität bei der Sortierung.

Der Standardwert ist null.



Implementierung
    public function get fields():Array
    public function set fields(value:Array):void

Verwandte API-Elemente

groupingObjectFunction

Eigenschaft 
public var groupingObjectFunction:Function

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Eine Callback-Funktion, die für jeden Gruppenknoten zum Bestimmen des Gruppierungsobjekts ausgeführt werden soll. Standardmäßig wird für Gruppenknoten ein neues Objekt erstellt.

Sie können eine groupingObjectFunction angeben, die das geeignete Objekt für Gruppenknoten bereitstellt.

Die Methodensignatur lautet wie folgt:

      myGroupObjectFunction(label:String):Object

Dabei enthält label den Wert, der für diesen Gruppenknoten angezeigt wird. Die Funktion gibt ein Objekt zurück, das für Gruppenknoten verwendet wird.

Beispiel: Eine groupingObjectFunction, die ein Objekt zurückgibt, das eine „name“-Eigenschaft mit dem Wert „Bob“ enthält, kann wie folgt geschrieben werden -
      private function groupObjFunction(label:String):Object
      {
          var obj:Object = {};
          obj.name = "Bob";
     
          return obj;
      }
      

label

Eigenschaft 
public var label:String = "GroupLabel"

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Der Name des Felds, das den flachen Daten hinzugefügt werden soll, um die Hierarchie zu erstellen. Von dieser Eigenschaft wird der Wert des Knotens der obersten Ebene (Knoten, die die Gruppenfelder darstellen) in jeder Gruppe dargestellt. Mit dieser Eigenschaft können Sie einen anderen Namen angeben.

Der Standardwert ist GroupLabel.

Konstruktordetails

Grouping

()Konstruktor
public function Grouping()

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Konstruktor.





[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.