При использовании объекта
import mx.collections.ItemResponder; //... try { //... cursor.moveNext(); } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(myResultFunction, myFaultFunction, {info:"..."})); }
Указанный метод результата должен иметь следующую подпись:
public function myResultFunction(result:Object, token:Object = null):void;
Указанный метод ошибки должен иметь следующую подпись:
public function myFaultFunction(error:Object, token:Object = null):void;
Использование любой другой подписи приведет к ошибке во время выполнения.
public function (result:Object, token:Object = null):void;
public function (error:ErrorMessage, token:Object = null):void;
<mx:Sort>
tag has the following attributes:
<mx:Sort Properties compareFunction="Internal compare function" fields="null" unique="false | true" />
In case items have inconsistent data types or items have complex data types, the use of the default built-in compare functions is not recommended. Inconsistent sorting results may occur in such cases. To avoid such problem, provide a custom compare function and/or make the item types consistent.
Just like any other AdvancedStyleClient
-based classes,
the Sort
and SortField
classes do not have a
parent-child relationship in terms of event handling. Locale changes in a
Sort
instance are not dispatched to its SortField
instances automatically. The only exceptional case is the internal default
SortField
instance used when no explicit fields are provided.
In this case, the internal default SortField
instance follows
the locale style that the owner Sort
instance has.
var col:ICollectionView = new ArrayCollection(); // In the real world, the collection would have more than one item. col.addItem({first:"Anders", last:"Dickerson"}); // Create the Sort instance. var sort:Sort = new Sort(); // Set the sort field; sort on the last name first, first name second. // Both fields are case-insensitive. sort.fields = [new SortField("last",true), new SortField("first",true)]; // Assign the Sort object to the view. col.sort = sort; // Apply the sort to the collection. col.refresh();
Возможны ситуации, в которых коллекция содержит простые элементы, подобные
var col:ICollectionView = new ArrayCollection(); col.addItem("California"); col.addItem("Arizona"); var sort:Sort = new Sort(); // There is only one sort field, so use a null // first parameter. sort.fields = [new SortField(null, true)]; col.sort = sort; col.refresh();
В реализациях Flex интерфейса ICollectionView все элементы извлекаются из удаленного местоположения перед выполнением сортировки. При использовании подкачки страниц с сортированным списком к удаленной коллекции перед извлечением данных следует применить сортировку.
По умолчанию этот класс Sort не обеспечивает правильную языковую сортировку для строк. Для получения информации об этом типе сортировки см. описание классов
Создает новую сортировку без установленных полей и пользовательского устройства сравнения.
Примечание.
Реализации
Функция сравнения должна иметь следующую подпись:
function [name](a:Object, b:Object, fields:Array = null):int
Эта функция должна возвращать следующее значение:
Для возврата к внутренней функции сравнения установите значение
Массив
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; }
Значение по умолчанию представляет собой внутреннюю функцию сравнения, которая может выполнять сравнение строк, чисел или дат в восходящем или нисходящем порядке. Собственную функцию следует указывать только в том случае, если необходим пользовательский алгоритм сравнения. Обычно он применяется только в том только случае, если в отображении используется вычисленное поле.
Также для каждого поля сортировки можно указать отдельную функцию сравнения с помощью используемого в классе
ПРИМЕЧАНИЕ.
Функция сравнения должна иметь следующую подпись:
Эта функция возвращает следующие значения:
Значение по умолчанию равно
Это свойство используется в классе
Если для этого свойства установлено значение
Если для этого свойства установлено значение
Если это свойство равно
<mx:ArrayList Properties source="null" />
<mx:SortField>
tag has the following attributes:
<mx:SortField Properties caseInsensitive="false" compareFunction="Internal compare function" descending="false" name="null" numeric="null" />]]>
Возможны ситуации, в которых коллекция содержит простые элементы, подобные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;
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, не обеспечивает правильную языковую сортировку для строк. Для получения информации об этом типе сортировки см. описание классов
ПРИМЕЧАНИЕ.
Функция сравнения должна иметь следующую подпись:
Эта функция должна возвращать следующие значения:
Значение по умолчанию представляет собой внутреннюю функцию сравнения, которая может выполнять сравнение строк, чисел или дат в восходящем или нисходящем порядке, с учетом или без учета регистра. Собственную функцию следует указывать только в том случае, если необходим пользовательский алгоритм сравнения. Обычно он применяется только в том только случае, если в отображении используется вычисленное поле.
Если требуется выполнить языковую сортировку, используйте классЗначение по умолчанию равно
Это свойство используется в классе
Если для этого свойства установлено значение
Если для этого свойства установлено значение
Если это свойство равно
<mx:AsyncListView>
tag inherits all the attributes of its
superclass, and adds the following attributes:
<mx:AsyncListView Properties createFailedItemFunction="null" createPendingItemFunction="null" list="null" />]]>
Метод
Этот класс делегирует методы и свойства IList для
Этот класс предназначен для использования с компонентами Spark, основанными на DataGroup, например List и ComboBox Классы Spark не предоставляют встроенную поддержку для обработки ItemPendingError.
AsyncListView не поддерживает повторную вставку ожидающих обработки или неудачно выполненных элементов. После удаления неудачно выполненного или ожидающего обработки элемента его подключение к запросу в очереди для данных прерывается. Перемещение ожидающего обработки элемента в ASyncListView путем перетаскивания или сортировка ASyncListView, который содержит ожидающие обработки или неудачно выполненные элементы, не поддерживается, поскольку эти операции удаляют и затем повторно вставляют элементы списка.
Этот метод перехватывает ItemPendingErrors (IPE), созданные в результате вызова
Примечание. В отличие от методов
Если какой-нибудь элемент не является локальным и необходимо выполнить асинхронную операцию, инициируется ошибка
Для получения дополнительной информации об использовании
Если в указанном индексе отсутствует фактический или ожидающий обработки элемент, например по причине того, что вызов
Значением этого свойства должна быть функция с двумя параметрами: индексом запрошенного элемента и информационным объектом сбоя, который передан из метода IResponder
function createFailedItem(index:int, info:Object):Object { return "[" + index + "request failed]"; }
Установка этого свойства не влияет на неудавшиеся элементы, которые уже были созданы. Установка этого свойства на значение null препятствует созданию неудавшихся элементов.
Значением этого свойства должна быть функция с двумя параметрами: индексом запрошенного элемента поставщика данных и ItemPendingError. В большинстве случаев второй параметр можно проигнорировать. Ниже приведен пример реализации функции обратного вызова:
function createPendingItem(index:int, ipe:ItemPendingError):Object { return "[" + index + "request is pending...]"; }
Установка этого свойства не влияет на временные элементы очереди, которые уже были созданы. Установка этого свойства на значение null препятствует созданию временных элементов, ожидающих обработки.
Если это свойство имеет значение null, методы видоизменения IList, например
<mx:ArrayCollection>
tag inherits all the attributes of its
superclass, and adds the following attributes:
<mx:ArrayCollection Properties source="null" />]]>
var myCollection:ArrayCollection = new ArrayCollection([ { first: 'Matt', last: 'Matthews' } ]); var myCursor:IViewCursor = myCollection.createCursor(); var firstItem:Object = myCollection.getItemAt(0); var firstItemFromCursor:Object = myCursor.current; if (firstItem == firstItemFromCursor) doCelebration();
Создает новый ArrayCollection с помощью указанного исходного массива. Если массив не указан, то используется пустой массив.
Примечание.
Реализации
Функция сравнения должна иметь следующую подпись:
function [name](a:Object, b:Object, fields:Array = null):int
Эта функция должна возвращать следующее значение:
Для возврата к внутренней функции сравнения установите значение
Массив
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; }
Значение по умолчанию представляет собой внутреннюю функцию сравнения, которая может выполнять сравнение строк, чисел или дат в восходящем или нисходящем порядке. Собственную функцию следует указывать только в том случае, если необходим пользовательский алгоритм сравнения. Обычно он применяется только в том только случае, если в отображении используется вычисленное поле.
Также для каждого поля сортировки можно указать отдельную функцию сравнения с помощью используемого в классе
<mx:XMLListCollection>
tag inherits all
the attributes of its superclass, and adds the following attributes:
<mx:XMLListCollection Properties source="null" />]]>
Создает новый объект XMLListCollection с помощью указанного объекта XMLList.
Метод
Метод
Примечание. В отличие от методов
Если какой-нибудь элемент не является локальным и необходимо выполнить асинхронную операцию, инициируется ошибка
Для получения дополнительной информации об использовании
<mx:ListCollectionView>
has the following attributes,
which all of its subclasses inherit:
<mx:ListCollectionView Properties filterFunction="null" list="null" sort="null" Events collectionChange="No default" />]]>
Этот класс также позволяет использовать нотацию массива [] для доступа к методам
Примечание. В отличие от методов
Возвращает
f(item:Object):Booleanгде возвращаемым значением является
Если фильтр не поддерживается, в Flex инициируется ошибка при доступе к данному свойству. Для обновления представления следует вызвать
Примечание. Реализации ICollectionView в Flex извлекают все элементы из удаленного местоположения перед выполнением функции фильтрации. При использовании подкачки страниц следует применить фильтр к удаленной коллекции перед извлечением данных.
Примечание. Реализации ICollectionView в Flex извлекают все элементы из удаленного местоположения перед выполнением сортировки. При использовании подкачки страниц с сортированным списком к удаленной коллекции перед извлечением данных следует применить сортировку.
Интерфейс
Возвращает
f(item:Object):Booleanгде возвращаемым значением является
Если фильтр не поддерживается, в Flex инициируется ошибка при доступе к данному свойству. Для обновления представления следует вызвать
Примечание. Реализации ICollectionView в Flex извлекают все элементы из удаленного местоположения перед выполнением функции фильтрации. При использовании подкачки страниц следует применить фильтр к удаленной коллекции перед извлечением данных.
Примечание. Реализации ICollectionView в Flex извлекают все элементы из удаленного местоположения перед выполнением сортировки. При использовании подкачки страниц с сортированным списком к удаленной коллекции перед извлечением данных следует применить сортировку.
Метод
Если связанная коллекция является удаленной и не все ее элементы кэшированы локально, этот метод начинает асинхронную выборку из удаленной коллекции. Если выборка уже обрабатывается, то этот метод ожидает завершения ее обработки перед созданием другого запроса на выборку.
Если критериям поиска может соответствовать несколько элементов, то найденный элемент является недетерминированным. Если важно найти первое или последнее вхождение элемента в неуникальный индекс, следует использовать метод
Если данные не являются локальными и необходимо выполнить асинхронную операцию, инициируется ошибка ItemPendingError.
Метод
Если связанная коллекция является удаленной и не все ее элементы кэшированы локально, этот метод начинает асинхронную выборку из удаленной коллекции. Если выборка уже обрабатывается, то этот метод ожидает завершения ее обработки перед созданием другого запроса на выборку.
Если поиск первого вхождения элемента в групповой индекс не является обязательным, используйте
Если данные не являются локальными и необходимо выполнить асинхронную операцию, инициируется ошибка ItemPendingError.
Метод
Если связанная коллекция является удаленной и не все ее элементы кэшированы локально, этот метод начинает асинхронную выборку из удаленной коллекции. Если выборка уже обрабатывается, то этот метод ожидает завершения ее обработки перед созданием другого запроса на выборку.
Если поиск последнего вхождения элемента в групповой индекс не является обязательным, используйте метод
Если данные не являются локальными и необходимо выполнить асинхронную операцию, инициируется ошибка ItemPendingError.
Если данные не являются локальными и необходимо выполнить асинхронную операцию, инициируется ошибка ItemPendingError. Для получения дополнительной информации об использовании ItemPendingError см. документацию по ItemPendingError и документацию по коллекциям.
var myArrayCollection:ICollectionView = new ArrayCollection([ "Bobby", "Mark", "Trevor", "Jacey", "Tyler" ]); var cursor:IViewCursor = myArrayCollection.createCursor(); while (!cursor.afterLast) { trace(cursor.current); cursor.moveNext(); }
var myArrayCollection:ICollectionView = new ArrayCollection([ "Bobby", "Mark", "Trevor", "Jacey", "Tyler" ]); var cursor:IViewCursor = myArrayCollection.createCursor(); cursor.seek(CursorBookmark.last); while (!cursor.beforeFirst) { trace(current); cursor.movePrevious(); }
Если данные не являются локальными и необходимо выполнить асинхронную операцию, инициируется ошибка ItemPendingError. Для получения дополнительной информации об использовании ItemPendingError см. документацию по ItemPendingError и документацию по коллекциям.
Если элемент после удаленного элемента не является локальным и следует выполнить асинхронную операцию, инициируется ошибка ItemPendingError. Для получения дополнительной информации об использовании ItemPendingError см. документацию по ItemPendingError и документацию по коллекциям.
Если связанная коллекция является удаленной и не все ее элементы кэшированы локально, этот метод начинает асинхронную выборку из удаленной коллекции.
Если данные не являются локальными и необходимо выполнить асинхронную операцию, инициируется ошибка ItemPendingError. Для получения дополнительной информации об использовании ItemPendingError см. документацию по ItemPendingError и документацию по коллекциям.