spark.collectionsSort Предоставляет информацию о сортировке, необходимую для сортировки в существующем представлении (интерфейс ICollectionView или класс, реализующий интерфейс).The <s:Sort> tag has the following attributes:

  <s:Sort
  Properties
  compareFunction="Internal compare function"
  fields="null"
  unique="false | true"
  />
  

In case items have inconsistent data types or items have complex data types, use of default built-in compare functions is not desired. Inconsistent sort result may occur in such cases. To avoid such problem, provide custom compare function and/or make item types consistent.

]]>
mx.collections:ISortmx.styles:AdvancedStyleClient Предоставляет информацию, необходимую для сортировки в существующем представлении (интерфейс ICollectionView или класс, реализующий интерфейс). После назначения экземпляра Sort свойству представления sort вызовите метод представления refresh(), чтобы применить критерии сортировки.

Обычно сортировка определяется для коллекций составных элементов, т.е. для коллекций, в которых сортировка выполняется для одного или более свойств объектов коллекции. В следующем примере показано использование этого свойства:


     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:ISort = new Sort();
 
     // Set the sort field; sort on the last name first, first name second.
     var sortfieldLastName:ISortField = new SortField("last",true);
     var sortfieldFirstName:ISortField = new SortField("first",true);
 
     // Set the locale style to "en-US" to cause the strings
     // to be ordered according to the rules for English as used in the USA.
     sortfieldLastName.setStyle("locale","en-US");
     sortfieldFirstName.setStyle("locale","en-US");
     sort.fields = [sortfieldLastName, sortfieldFirstName];
 
     // Assign the Sort object to the view.
     col.sort = sort;
 
     // Apply the sort to the collection.
     col.refresh();
  

Возможны ситуации, в которых коллекция содержит простые элементы, подобные String, Date, Boolean и т. д. В этом случае следует применять сортировку непосредственно к простому типу. При создании сортировки для простых элементов следует использовать отдельное поле сортировки и указать (первый) параметр name как null в конструкторе объектов SortField. Например:


     import mx.collections.ArrayCollection;
     import spark.collections.Sort;
     import spark.collections.SortField;
 
     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. 
     var sortfield:SortField = new SortField("null",true);
 
     // Set the locale style to "en-US" to set the language for the sort.
     sortfield.setStyle("locale","en-US");
     sort.fields = [sortfield];
     col.sort = sort;
     col.refresh();
  

В реализациях Flex интерфейса ICollectionView все элементы извлекаются из удаленного местоположения перед выполнением сортировки. При использовании подкачки страниц с сортированным списком к удаленной коллекции перед извлечением данных следует применить сортировку.

Сравнение по умолчанию, выполняемое с помощью класса SortField, обеспечивает правильную языковую сортировку строк. Для выбора языка необходимо установить стиль locale в экземпляре класса одним из следующих способов:

  • С использованием класса в объявлении MXML и наследованием локали из документа, содержащего объявление.
  • Пример:
      <fx:Declarations> 
             <s:SortField id="sf" /> 
      </fx:Declarations>
      
  • С использованием объявления MXML и указанием значения локали в списке назначений.
  • Пример:
      <fx:Declarations> 
          <s:SortField id="sf_SimplifiedChinese" locale="zh-Hans-CN" /> 
      </fx:Declarations>
      
  • Вызов метода setStyle, например sf.setStyle("locale", "zh-Hans-CN").
  • Наследование стиля из UIComponent путем вызова метода addStyleClient() UIComponent.
mx.collections.ICollectionViewspark.collections.SortFieldSort Конструктор. Конструктор.

Создает новую сортировку без установленных полей и пользовательского устройства сравнения.

findItem itemsvaluesmodereturnInsertionIndexfalsecompareFunctionnull propertyAffectsSort property reverse sort items ANY_INDEX_MODE При нахождении возвращает индекс любого соответствующего элемента.any При нахождении возвращает индекс любого соответствующего элемента. FIRST_INDEX_MODE При выполнении поиска возвращает индекс первого совпадающего элемента.first При выполнении поиска возвращает индекс первого совпадающего элемента. LAST_INDEX_MODE При выполнении поиска возвращает индекс последнего совпадающего элемента.last При выполнении поиска возвращает индекс последнего совпадающего элемента. compareFunction fields null SortFieldunique false
NumericDataProvider Этот класс IList создает элементы, представляющие собой последовательные серии чисел.mx.collections:IListmx.utils:OnDemandEventDispatcher Этот класс IList создает элементы, представляющие собой последовательные серии чисел. Диапазон чисел между свойствами minimum и maximum. Свойство stepSize определяет разницу между данным элементом и следующим элементом.

 <s:SpinnerList>
   <s:dataProvider>
     <s:NumericDataProvider minimum="0" maximum="23" stepSize="1"/>
   </s:dataProvider>
 </s:SpinnerList> 
 

Преимущество этого класса состоит в том, что значения элементов вычисляются по требованию без необходимости сохранять их заранее.

spark.components.SpinnerListmx.collections.IListNumericDataProvider Конструктор. Конструктор. addItemAt Функция не поддерживается..itemindex addItem item getItemAt indexprefetch0 getItemIndex item itemUpdated itempropertynulloldValuenullnewValuenull removeAll removeItemAt index setItemAt itemindex toArray length maximum Значение последнего элемента.100 Значение последнего элемента. Это значение должно превышать минимальное значение. minimum Значение первого элемента.0 Значение первого элемента. Это значение должно быть меньше, чем минимальное значение. stepSize Свойство stepSize управляет значениями элементов, находящихся между первым и последним элементами.1 Свойство stepSize управляет значениями элементов, находящихся между первым и последним элементами. Значение для каждого элемента вычисляется как сумма значения minimum и индекса элемента, умноженного на значение этого свойства.

Например, если minimum равно 10, maximum – 20 и это свойство равно 3, то значениями элементов этого поставщика данных будут 10, 13, 16, 19 и 20.

SortField Обеспечивает информацию о сортировке, необходимую для выполнения сортировки по полю или свойству в представлении коллекции.The <s:SortField> tag has the following attributes:

  <s:SortField
  Properties
  compareFunction="Internal compare function"
  descending="false"
  name="null"
  numeric="null"
  />
  
]]>
mx.collections:ISortFieldmx.styles:AdvancedStyleClient Обеспечивает информацию о сортировке, необходимую для выполнения сортировки по полю или свойству в представлении коллекции. Класс SortField предназначен для использования с классом Sort. Обычно сортировка определяется для коллекций сложных элементов, т. е. для элементов, в которых она выполняется по свойствам этих объектов. Например:

     var col:ICollectionView = new ArrayCollection();
     col.addItem({first:"Anders", last:"Dickerson"});
     var sort:Sort = new Sort();
     var sortfield:SortField = new SortField("first", true);
     sortfield.setStyle("locale", "en-US");
     sort.fields = [sortfield];
     col.sort = sort;
  
Возможны ситуации, в которых коллекция содержит простые элементы, подобные String, Date, Boolean и т. д. В этом случае сортировка должна применяться непосредственно к простому типу. При построении сортировки в этой ситуации необходимо наличие отдельного поля сортировки, не имеющего указанного name. Например:

     var col:ICollectionView = new ArrayCollection();
     col.addItem("California");
     col.addItem("Arizona");
     var sort:Sort = new Sort();
     var sortfield:SortField = new SortField(null, true);
     sortfield.setStyle("locale", "en-US");
     sort.fields = [sortfield];
     col.sort = sort;
  

Сравнение по умолчанию, выполняемое с помощью класса SortField, обеспечивает правильную языковую сортировку строк. Для выбора языка необходимо установить стиль locale в экземпляре класса одним из следующих способов:

  • С использованием класса в объявлении MXML и наследованием локали из документа, содержащего объявление.
  • Пример:
      <fx:Declarations> 
             <s:SortField id="sf" /> 
      </fx:Declarations>
      
  • С использованием объявления MXML и указанием значения локали в списке назначений.
  • Пример:
      <fx:Declarations> 
          <s:SortField id="sf_SimplifiedChinese" locale="zh-Hans-CN" /> 
      </fx:Declarations>
      
  • Вызов метода setStyle, например sf.setStyle("locale", "zh-Hans-CN").
  • Наследование стиля из UIComponent путем вызова метода addStyleClient() UIComponent.
mx.collections.ICollectionViewspark.collections.SortSortField Конструктор.namenullИмя свойства, используемое этим полем для сравнения. Если объект относится к простому типу, следует передать null. descendingfalseСообщает устройству сравнения, следует ли разместить элементы в порядке убывания. numericnullСообщает средству сравнения, следует ли сравнивать элементы сортировки как числовом порядке вместо алфавитного порядка. Конструктор. initializeDefaultCompareFunction obj reverse arraySortOnOptions compareFunction Функция, сравнивающая два элемента при сортировке элементов для связанной коллекции. Функция, сравнивающая два элемента при сортировке элементов для связанной коллекции. Если указано свойство compareFunction в объекте ISort, Flex игнорирует любые свойства compareFunction в объектах SortField в ISort.

Функция сравнения должна иметь следующую подпись:

функция myCompare(a:Object, b:Object):int

Эта функция должна возвращать следующие значения:

  • -1, если в отсортированной последовательности объект А должен предшествовать объекту B.
  • 0, если объект А совпадает с объектом B.
  • 1, если в отсортированной последовательности объект А должен следовать за объектом B.

Значение по умолчанию представляет собой внутреннюю функцию сравнения, которая может выполнять сравнение строк, чисел или дат в восходящем или нисходящем порядке. Для сравнения строк используется специальный метод сравнения локали (язык, регион и сценарий) в классе SortingCollator. Этот класс использует стиль locale для определения локали. Собственную функцию следует указывать только в том случае, если необходим пользовательский алгоритм сравнения. Обычно он применяется только в том только случае, если в отображении используется вычисленное поле.

descending name null numeric null usingCustomCompareFunction