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();
  

コレクションに StringDateBoolean などの単純なアイテムが含まれている場合があります。この場合、これら単純型に直接ソートを行います。 単純なアイテムにソートを設定するときは、単一のソートフィールドを使用し、SortField オブジェクトコンストラクターに null name(第 1)パラメーターを指定します。 次に実際の使用例を示します。


     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();
  

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;
  
コレクションに StringDateBoolean などの単純なアイテムが含まれている場合があります。この場合は、これらの単純型に直接ソートを適用します。 この場合のソートを設定するときは、単一のソートフィールドのみを指定します。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 関連付けられたコレクションのアイテムをソートするときに 2 つのアイテムを比較する関数です。 関連付けられたコレクションのアイテムをソートするときに 2 つのアイテムを比較する関数です。 ISort オブジェクトの compareFunction プロパティを指定した場合、ISort の SortField オブジェクトの compareFunction プロパティはすべて無視されます。

比較関数には次のシグネチャが必要です。

function myCompare(a:Object, b:Object):int

この関数では、次の値が返される必要があります。

  • Object aObject b の前に現れるソート順の場合は -1
  • Object aObject b と等しい場合は 0
  • Object aObject b の後に表示されるソート順の場合は 1

デフォルト値は、ストリング、数値、日付を比較できる内部比較関数です。この比較関数では、昇順または降順での比較が可能です。 ストリングの比較は、SortingCollator クラスのロケール(言語、地域およびスクリプト)固有の comparison メソッドを使用して実行されます。 このクラスは、locale スタイルを使用してロケールを特定します。カスタム比較アルゴリズムが必要な場合にのみ、独自の関数を指定します。 このことは、通常、計算フィールドが表示で使用される場合にのみ該当します。

descending name null numeric null usingCustomCompareFunction