| Пакет | 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):voidfields | свойство |
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
Показать синтаксис MXML