Пакет | mx.collections |
Класс | public class SortField |
Наследование | SortField EventDispatcher Object |
Реализует | ISortField |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Начиная с Flex 4.5, Adobe рекомендует вместо этого класса использовать класс spark.collections.SortField. |
Обеспечивает информацию о сортировке, необходимую для выполнения сортировки по полю или свойству в представлении коллекции. Класс SortField предназначен для использования с классом Sort. Обычно сортировка определяется для коллекций сложных элементов, т. е. для элементов, в которых она выполняется по свойствам этих объектов. Например:
var col:ICollectionView = new ArrayCollection();
col.addItem({first:"Anders", last:"Dickerson"});
var sort:Sort = new Sort();
sort.fields = [new SortField("first", true)];
col.sort = sort;
Возможны ситуации, в которых коллекция содержит простые элементы, подобные String
, Date
, Boolean
и т. д. В этом случае сортировка должна применяться непосредственно к простому типу. При построении сортировки в этой ситуации необходимо наличие отдельного поля сортировки, не имеющего указанного name
. Например:
var col:ICollectionView = new ArrayCollection();
col.addItem("California");
col.addItem("Arizona");
var sort:Sort = new Sort();
sort.fields = [new SortField(null, true)];
col.sort = sort;
По умолчанию сравнение, выполняемое с помощью класса SortField, не обеспечивает правильную языковую сортировку для строк. Для получения информации об этом типе сортировки см. описание классов spark.collections.Sort
и spark.collections.SortField
.
The <mx:SortField>
tag has the following attributes:
<mx:SortField Properties caseInsensitive="false" compareFunction="Internal compare function" descending="false" name="null" numeric="null" />
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
arraySortOnOptions : int [только для чтения]
Это вспомогательное свойство используется на внутреннем уровне методами findItem() и sort(). | SortField | ||
caseInsensitive : Boolean
Указывает, должна ли сортировка для данного поля зависеть от регистра. | SortField | ||
compareFunction : Function
Функция, сравнивающая два элемента при сортировке элементов для связанной коллекции. | SortField | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
descending : Boolean
Указывает, следует ли сортировать данное поле в порядке убывания. | SortField | ||
name : String
Имя поля для сортировки. | SortField | ||
numeric : Object
Указывает, что если сортируемое поле содержит числовые значения (number/int/uint) или строковые представления числовых значений, то средство сравнения использует числовое сравнение. | SortField | ||
usingCustomCompareFunction : Boolean [только для чтения]
True, если для ISortField указана пользовательская функция средства сравнения. | SortField |
Метод | Определено | ||
---|---|---|---|
SortField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Object = null)
Конструктор. | SortField | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Посылает событие в поток событий. | EventDispatcher | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Вспомогательная функция, которую вызывает класс Sort, чтобы установить функцию сравнения по умолчанию для сравнений на основе одного из трех условий, определяющих была ли установлена пользовательская функция, тип данных для определенного поля или значение числового свойства. | SortField | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Задает обратный порядок критериев для данного поля сортировки. | SortField | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
arraySortOnOptions | свойство |
arraySortOnOptions:int
[только для чтения] Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Это вспомогательное свойство используется на внутреннем уровне методами findItem()
и sort()
. Другое использование этого свойства не поддерживается. Возвращает -1, если ISortField не может использоваться в классе Sort
для сортировки поля (отсутствует compareFunction или имя). В противном случае возвращает битовую маску параметров сортировки.
Реализация
public function get arraySortOnOptions():int
caseInsensitive | свойство |
caseInsensitive:Boolean
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Указывает, должна ли сортировка для данного поля зависеть от регистра.
Значением по умолчанию является false.
Это свойство можно использовать в качестве источника для связывания данных. При изменении этого свойства отправляется событие caseInsensitiveChanged
.
Реализация
public function get caseInsensitive():Boolean
public function set caseInsensitive(value:Boolean):void
compareFunction | свойство |
compareFunction:Function
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Функция, сравнивающая два элемента при сортировке элементов для связанной коллекции. При указании свойства compareFunction
для объекта ISort Flex игнорирует любые свойства compareFunction
объектов SortField в ISort.
Функция сравнения должна иметь следующую подпись:
функция myCompare(a:Object, b:Object):int
Эта функция должна возвращать следующие значения:
- -1, если
a
должно появиться доb
в сортированной последовательности; - 0, если
a
равноb
; - 1, если
a
должно появиться послеb
в сортированной последовательности.
Значение по умолчанию представляет собой внутреннюю функцию сравнения, которая может выполнять сравнение строк, чисел или дат в восходящем или нисходящем порядке, с учетом или без учета регистра. Собственную функцию следует указывать только в том случае, если необходим пользовательский алгоритм сравнения. Обычно он применяется только в том только случае, если в отображении используется вычисленное поле.
Если требуется выполнить языковую сортировку, используйте классspark.collections.SortField
.
Реализация
public function get compareFunction():Function
public function set compareFunction(value:Function):void
Связанные элементы API
descending | свойство |
descending:Boolean
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Указывает, следует ли сортировать данное поле в порядке убывания.
Значение по умолчанию равно false
(в порядке возрастания).
Это свойство можно использовать в качестве источника для связывания данных. При изменении этого свойства отправляется событие descendingChanged
.
Реализация
public function get descending():Boolean
public function set descending(value:Boolean):void
name | свойство |
name:String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Имя поля для сортировки.
Значением по умолчанию является null.
Это свойство можно использовать в качестве источника для связывания данных. При изменении этого свойства отправляется событие nameChanged
.
Реализация
public function get name():String
public function set name(value:String):void
numeric | свойство |
numeric:Object
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Указывает, что если сортируемое поле содержит числовые значения (number/int/uint
) или строковые представления числовых значений, то средство сравнения использует числовое сравнение.
Это свойство используется в классе SortField
, если не указана пользовательская функция сравнения.
Если для этого свойства установлено значение true
, то используется встроенная функция числового сравнения. Перед сравнением каждому элементу данных присваивается функция Number()
.
Если для этого свойства установлено значение false
, то используется встроенная функция сравнения строк. Перед сравнением каждому элементу данных присваивается функция String()
.
Если это свойство равно null
, то анализируется первый элемент данных для определения, является он числом или строкой, после чего сортировка продолжается на основании этого анализа.
Значением по умолчанию является null.
Это свойство можно использовать в качестве источника для связывания данных. При изменении этого свойства отправляется событие numericChanged
.
Реализация
public function get numeric():Object
public function set numeric(value:Object):void
usingCustomCompareFunction | свойство |
usingCustomCompareFunction:Boolean
[только для чтения] Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
True, если ISortField
использует пользовательскую функцию средства сравнения.
Реализация
public function get usingCustomCompareFunction():Boolean
SortField | () | Конструктор |
public function SortField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Object = null)
Язык версии: | 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:Object (default = null ) — Сообщает средству сравнения, следует ли сравнивать элементы сортировки как числовом порядке вместо алфавитного порядка.
|
initializeDefaultCompareFunction | () | метод |
public function initializeDefaultCompareFunction(obj:Object):void
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Вспомогательная функция, которую вызывает класс Sort
, чтобы установить функцию сравнения по умолчанию для сравнений на основе одного из трех условий, определяющих была ли установлена пользовательская функция, тип данных для определенного поля или значение числового свойства. Если свойство numeric
имеет значение true, то при сортировке будет выполняться числовое сравнение.
Параметры
obj:Object — Объект , содержащий данные. Если для указания имени поля использовалось свойство Name, то это имя будет использоваться для доступа к значению данных из этого объекта. В противном случае в качестве значения данных будет использован непосредственный объект.
|
reverse | () | метод |
public function reverse():void
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Задает обратный порядок критериев для данного поля сортировки. Например, если поле сортировалось в порядке убывания, оно будет отсортировано в порядке возрастания.
ПРИМЕЧАНИЕ. ICollectionView
не обновляется автоматически при изменении ISortFields
; для обновления представления следует вызвать метод refresh()
.
Tue Jun 12 2018, 11:34 AM Z