| Пакет | mx.collections |
| Класс | public class GroupingField |
| Наследование | GroupingField 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.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
Связанные элементы API
| Свойство | Определено | ||
|---|---|---|---|
| caseInsensitive : Boolean
Следует установить значение равным true, если сортировка для этого поля не должна зависеть от регистра. | GroupingField | ||
| compareFunction : Function
Функция, сравнивающая два элемента при сортировке элементов для связанной коллекции. | GroupingField | ||
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
| descending : Boolean
Следует установить значение равным true, если сортировка для этого поля должна происходить в порядке убывания. | GroupingField | ||
| groupingFunction : Function
Функция, определяющая метку для этой группы. | GroupingField | ||
| groupingObjectFunction : Function
Функция обратного вызова для запуска в каждом узле группы при определении объекта группировки. | GroupingField | ||
| name : String
Имя поля для сортировки. | GroupingField | ||
| numeric : Boolean
Указывает, что если сортируемое поле содержит числовые значения (Number/int/uint) или строковые представления числовых значений, то устройство сравнения использует числовые сравнение. | GroupingField | ||
| summaries : Array
Массив экземпляров SummaryRow, определяющих сводки уровня группы. | GroupingField | ||
| Метод | Определено | ||
|---|---|---|---|
GroupingField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Boolean = false)
Конструктор. | GroupingField | ||
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
caseInsensitive | свойство |
caseInsensitive:Boolean| Язык версии: | ActionScript 3.0 |
| Версия продукта: | Flex 3 |
| Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Следует установить значение равным true, если сортировка для этого поля не должна зависеть от регистра.
Значением по умолчанию является false.
Реализация
public function get caseInsensitive():Boolean public function set caseInsensitive(value:Boolean):voidcompareFunction | свойство |
compareFunction:Function| Язык версии: | ActionScript 3.0 |
| Версия продукта: | Flex 3 |
| Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Функция, сравнивающая два элемента при сортировке элементов для связанной коллекции. Если указать свойство compareFunction в объекте группировки, то в компоненте Flex игнорируются любые свойства compareFunction объектов GroupingField.
Функция сравнения должна иметь следующую подпись:
function myCompare(a:Object, b:Object):int
Эта функция должна возвращать следующие значения:
- -1, если
aдолжно появиться передbв сортированной последовательности; - 0, если
aравноb; - 1, если
aдолжно появиться послеbв сортированной последовательности.
Значение по умолчанию представляет собой внутреннюю функцию сравнения, которая может выполнять сравнение строк, чисел или дат в восходящем или нисходящем порядке, с учетом или без учета регистра. Указывать собственную функцию следует только в том случае, если необходим пользовательский алгоритм сравнения. Обычно он применяется только в том только случае, если в отображении используется вычисленное поле.
Реализация
public function get compareFunction():Function public function set compareFunction(value:Function):voiddescending | свойство |
descending:Boolean| Язык версии: | ActionScript 3.0 |
| Версия продукта: | Flex 3 |
| Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Следует установить значение равным true, если сортировка для этого поля должна происходить в порядке убывания.
Значением по умолчанию является false.
Реализация
public function get descending():Boolean public function set descending(value:Boolean):voidgroupingFunction | свойство |
public var groupingFunction:Function| Язык версии: | ActionScript 3.0 |
| Версия продукта: | Flex 3 |
| Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Функция, определяющая метку для этой группы. По умолчанию группа отображает текст для поля в данных, которые соответствуют полю, указанному свойством 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| Язык версии: | 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;
}
name | свойство |
numeric | свойство |
numeric:Boolean| Язык версии: | ActionScript 3.0 |
| Версия продукта: | Flex 3 |
| Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Указывает, что если сортируемое поле содержит числовые значения (Number/int/uint) или строковые представления числовых значений, то устройство сравнения использует числовые сравнение. Если это свойство равно false, то поля со строковыми представлениями чисел сортируются с использованием сравнения строк, таким образом, 100 предшествует 99, поскольку 1 – более низкое строковое значение чем 9.
Значением по умолчанию является false.
Реализация
public function get numeric():Boolean public function set numeric(value:Boolean):voidsummaries | свойство |
public var summaries:Array| Язык версии: | ActionScript 3.0 |
| Версия продукта: | Flex 3 |
| Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Массив экземпляров SummaryRow, определяющих сводки уровня группы. Следует указать один или несколько экземпляров 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>
Связанные элементы API
GroupingField | () | Конструктор |
public function GroupingField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Boolean = false)| Язык версии: | ActionScript 3.0 |
| Версия продукта: | Flex 3 |
| Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Конструктор.
Параметрыname:String (default = null) — Имя свойства, используемое этим полем для сравнения. Если объект относится к простому типу, следует передать null.
| |
caseInsensitive:Boolean (default = false) — При сортировке строк сообщает устройству сравнения, следует ли игнорировать регистр значений.
| |
descending:Boolean (default = false) — Сообщает устройству сравнения, следует ли разместить элементы в порядке убывания.
| |
numeric:Boolean (default = false) — Сообщает устройству сравнения, следует ли сравнивать элементы сортировки как числа, вместо алфавитного порядка.
|
Tue Jun 12 2018, 11:34 AM Z
Показать синтаксис MXML