Пакет | mx.collections |
Класс | public class Grouping |
Наследование | Grouping Object |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Для заполнения элемента управления AdvancedDataGrid группированными данными следует создать экземпляр класса GroupingCollection из плоских данных и передать его поставщику данных элемента управления AdvancedDataGrid. Для указания полей группировки плоских данных следует передать экземпляр группировки в свойство GroupingCollection.grouping
. Экземпляр группировки содержит экземпляры массива GroupingField, по одному для каждого поля группировки.
В следующем примере используется класс группировки для определения двух полей группировки: «Регион» и «Территория».
<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.Grouping>
tag defines the following tag attributes:
<mx:Grouping Properties compareFunction="No default" fields="null" groupingObjectFunction="No default" label="GroupLabel" />
Свойство MXML по умолчаниюfields
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
compareFunction : Function
Метод, используемый для сравнения элементов при сортировке. | Grouping | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
fields : Array
Массив объектов GroupingField, определяющий поля, используемые для группировки данных. | Grouping | ||
groupingObjectFunction : Function
Функция обратного вызова для запуска в каждом узле группы при определении объекта группировки. | Grouping | ||
label : String = "GroupLabel"
Имя поля, добавляемого к плоским данным для создания иерархии. | Grouping |
Метод | Определено | ||
---|---|---|---|
Grouping()
Конструктор. | Grouping | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
compareFunction | свойство |
compareFunction:Function
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Метод, используемый для сравнения элементов при сортировке. При указании этого свойства Flex игнорирует любые свойства compareFunction
, которые указаны в объектах SortField, используемых в этом классе.
Функция сравнения должна иметь следующую подпись:
function [name](a:Object, b:Object, fields:Array=null):int
Эта функция должна возвращать следующее:
- -1, если
a
должно появиться передb
в сортированной последовательности; - 0, если
a
равноb
; - 1, если
a
должно появиться послеb
в сортированной последовательности.
Для возврата внутренней функции сравнения следует установить это значение равным 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; }
Значение по умолчанию представляет собой внутреннюю функцию сравнения, которая может выполнять сравнение строк, чисел или дат в восходящем или нисходящем порядке, с учетом или без учета регистра. Указывать собственную функцию следует только в том случае, если необходим пользовательский алгоритм сравнения. Обычно он применяется только в том только случае, если в отображении используется вычисленное поле.
Также можно указать отдельные функции сравнения для каждого поля сортировки с помощью свойства compare
класса SortField. Подобным образом можно использовать сравнение по умолчанию для одних полей и пользовательское сравнение для других.
Реализация
public function get compareFunction():Function
public function set compareFunction(value:Function):void
fields | свойство |
fields:Array
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Массив объектов GroupingField, определяющий поля, используемые для группировки данных. Порядок объектов GroupingField в массиве определяет приоритетный порядок полей при сортировке.
Значением по умолчанию является null.
Реализация
public function get fields():Array
public function set fields(value:Array):void
Связанные элементы API
groupingObjectFunction | свойство |
public var groupingObjectFunction:Function
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Функция обратного вызова для запуска в каждом узле группы при определении объекта группировки. По умолчанию для узлов группы создается новый объект.
Можно ввести функцию groupingObjectFunction
, предоставляющую соответствующий объект для узлов группы.
Подпись метода:
myGroupObjectFunction(label:String):Object
где в label
содержится значение, которое будет показано для данного узла группы. Функция возвращает объект, используемый для узлов группы.
groupingObjectFunction
, возвращающую объект, содержащий свойство name со значением Bob, можно записать следующим образом:
private function groupObjFunction(label:String):Object { var obj:Object = {}; obj.name = "Bob"; return obj; }
label | свойство |
public var label:String = "GroupLabel"
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Имя поля, добавляемого к плоским данным для создания иерархии. Значение верхних узлов (узлов, представляющих поля группы) в каждой группе будет представлено этим свойством. Это свойство следует использовать для указания другого имени.
Значением по умолчанию является GroupLabel.
Grouping | () | Конструктор |
public function Grouping()
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Конструктор.
Tue Jun 12 2018, 11:34 AM Z