Paket | mx.collections |
Klasse | public class Grouping |
Vererbung | Grouping Object |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
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-SyntaxMXML-Syntax ausblenden
<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
Eigenschaft | Definiert von | ||
---|---|---|---|
compareFunction : Function
Die Methode, die für den Vergleich von Elementen bei der Sortierung verwendet wird. | Grouping | ||
constructor : 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 |
Methode | Definiert von | ||
---|---|---|---|
Grouping()
Konstruktor. | Grouping | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
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 vorb
erscheinen soll. - 0, wenn
a
gleichb
ist. - -1, wenn
a
in der sortierten Sequenz nachb
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.
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.
Grouping | () | Konstruktor |
public function Grouping()
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Konstruktor.
Tue Jun 12 2018, 10:04 AM Z