Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: サーバーからデータを取得しています...
サーバーからデータを取得しています...
spark.collections 

SortField  - AS3 Flex

パッケージspark.collections
クラスpublic class SortField
継承SortField Inheritance AdvancedStyleClient Inheritance EventDispatcher Inheritance Object
実装 ISortField

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4.5
ランタイムバージョン: Flash Player 10.1, AIR 2.5

コレクションビュー内でフィールドまたはプロパティに対してソートを設定するために必要なソート情報を提供します。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 からスタイルを継承する。

MXML シンタックスexpandedMXML シンタックスを隠す

The <s:SortField> tag has the following attributes:

  <s:SortField
  Properties
  compareFunction="Internal compare function"
  descending="false"
  name="null"
  numeric="null"
  />
  

例を表示

関連する API エレメント



パブリックプロパティ
 プロパティ定義元
  arraySortOnOptions : int
[読み取り専用] このヘルパープロパティは、findItem() メソッドおよび sort() メソッドによって内部的に使用されます。
SortField
 InheritedclassName : String
[読み取り専用] コンポーネントクラスの名前です。
AdvancedStyleClient
  compareFunction : Function
関連付けられたコレクションのアイテムをソートするときに 2 つのアイテムを比較する関数です。
SortField
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。
Object
  descending : Boolean
このフィールドを降順でソートするかどうかを指定します。
SortField
 Inheritedid : String
コンポーネントの ID です。
AdvancedStyleClient
 InheritedinheritingStyles : Object
このビジュアルでないスタイルクライアントのインスタンスの継承可能なスタイルを含むオブジェクトです。
AdvancedStyleClient
 InheritedmoduleFactory : IFlexModuleFactory
モジュールファクトリは、このビジュアルでないスタイルクライアントのインスタンスのスタイルを制御するスタイルマネージャーを検索するためのコンテキストとして使用されます。
AdvancedStyleClient
  name : String
ソートするフィールドの名前です。
SortField
 InheritednonInheritingStyles : Object
このコンポーネントの非継承スタイルのチェーンの始まりです。
AdvancedStyleClient
  numeric : Object
ソート対象のフィールドに数値(number/int/uint)、または数値のストリング表現が含まれている場合、コンパレータが数値比較を実行するように指定します。
SortField
 InheritedstyleDeclaration : CSSStyleDeclaration
このオブジェクトで宣言されたインラインスタイルを保持するスタイル宣言です。
AdvancedStyleClient
 InheritedstyleManager : IStyleManager2
[読み取り専用] このコンポーネントで使用する StyleManager インスタンスを返します。
AdvancedStyleClient
 InheritedstyleName : Object
オブジェクトのスタイル値のソースです。
AdvancedStyleClient
 InheritedstyleParent : IAdvancedStyleClient
コンポーネントの親は、下位要素のセレクターを評価するために使用されます。
AdvancedStyleClient
  usingCustomCompareFunction : Boolean
[読み取り専用] この ISortField がカスタムコンパレータ関数を使用している場合は True です。
SortField
パブリックメソッド
 メソッド定義元
  
SortField(name:String = null, descending:Boolean = false, numeric:Object = null)
コンストラクターです。
SortField
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
このコンポーネントインスタンスからスタイルプロパティを削除します。
AdvancedStyleClient
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
このコンポーネントに適用されるタイプセレクターの CSSStyleDeclaration オブジェクトの配列を返します。何も存在しない場合は null を返します。
AdvancedStyleClient
 Inherited
getStyle(styleProp:String):*
このコンポーネントのスタイル参照チェーンのいずれかの場所に設定されたスタイルプロパティを取得します。
AdvancedStyleClient
 Inherited
currentCSSState が null でない場合、true を返します。
AdvancedStyleClient
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
initialized メソッドは、このクラスまたはこのクラスを拡張するクラスが MXML 宣言で使用されると呼び出されます。
AdvancedStyleClient
  
カスタム比較関数が設定されているかどうか、指定されたフィールドのデータ型、numeric プロパティの値のいずれかに基づいて、比較を実行するためのデフォルト比較関数を設定するために、Sort クラスによって呼び出されるヘルパー関数です。
SortField
 Inherited
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
cssState が currentCSSState に一致した場合は、true を返します。
AdvancedStyleClient
 Inherited
このインスタンスが、指定されたタイプと同じであるのか、それともそのサブクラスであるのかを判別します。
AdvancedStyleClient
 Inherited
スタイルの変更を、このスタイルクライアントのインスタンスの子に通知します。
AdvancedStyleClient
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
getStyle() メソッドが機能するように、内部のスタイルキャッシュ値を設定します。
AdvancedStyleClient
 Inherited
各エフェクトイベントのイベントリスナーの 1 つとして、EffectManager を登録します。
AdvancedStyleClient
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
  
このソートフィールドの条件を逆順にします。
SortField
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
setStyle(styleProp:String, newValue:*):void
このコンポーネントインスタンスのスタイルプロパティを設定します。
AdvancedStyleClient
 Inherited
スタイルプロパティの変更を検出します。
AdvancedStyleClient
 Inherited
コンポーネントのスタイルを初めて初期化するとき、Flex は stylesInitialized() メソッドを呼び出します。
AdvancedStyleClient
 Inherited
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
スタイル

スタイルには共通スタイルと特定のテーマに関連するスタイルがあります。共通スタイルは、任意のテーマと共に使用できます。特定のテーマに関連するスタイルは、アプリケーションがそのテーマを使用する場合にのみ使用できます。

共通スタイル
 スタイル 説明 定義元
  
locale
型: String CSS 継承: はい
言語バージョン: ActionScript 3.0  製品バージョン: Flex 4.5  ランタイムバージョン: Flash10.1, AIR 2.5

言語、地域、スクリプトおよびオプションで他の関連するタグおよびキーを指定するロケール識別子です。 この識別子のシンタックスは、Unicode Technical Standard #35(en-US、de-DE、zh-Hans-CN など)で定義されている構文に従う必要があります。

ブラウザーベースのアプリケーションの場合、デフォルトのロケールは、ブラウザーの言語設定に基づいて設定されます(これは、Javascript から使用できるブラウザーの UI の言語ではなく、ブラウザーの環境設定でユーザーが設定した Web ページの優先ロケールのリストでであることに注意してください)。AIR アプリケーションの場合、デフォルトの UI ロケールはユーザーのシステムの環境設定に基づいて設定されます。

詳細

SortField
プロパティの詳細

arraySortOnOptions

プロパティ
arraySortOnOptions:int  [読み取り専用]

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4.5
ランタイムバージョン: Flash Player 10.1, AIR 2.5

このヘルパープロパティは、findItem() メソッドおよび sort() メソッドによって内部的に使用されます。 これ以外の使用方法はサポートされていません。フィールドのソートに Sort クラスでこの ISortField を使用しないようにする(compareFunction や name がない)場合は、-1 を返します。 それ以外の場合は、ソートオプションのビットマスクを返します。



実装
    public function get arraySortOnOptions():int

compareFunction

プロパティ 
compareFunction:Function

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4.5
ランタイムバージョン: Flash Player 10.1, AIR 2.5

関連付けられたコレクションのアイテムをソートするときに 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 スタイルを使用してロケールを特定します。カスタム比較アルゴリズムが必要な場合にのみ、独自の関数を指定します。 このことは、通常、計算フィールドが表示で使用される場合にのみ該当します。



実装
    public function get compareFunction():Function
    public function set compareFunction(value:Function):void

descending

プロパティ 
descending:Boolean

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4.5
ランタイムバージョン: Flash Player 10.1, AIR 2.5

このフィールドを降順でソートするかどうかを指定します。

デフォルト値は false(昇順)です。

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 descendingChanged イベントが送出されます。



実装
    public function get descending():Boolean
    public function set descending(value:Boolean):void

name

プロパティ 
name:String

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4.5
ランタイムバージョン: Flash Player 10.1, AIR 2.5

ソートするフィールドの名前です。

デフォルト値: null。

このプロパティはデータバインディングのソースとして使用できます。 このプロパティを変更すると、 nameChanged イベントが送出されます。



実装
    public function get name():String
    public function set name(value:String):void

numeric

プロパティ 
numeric:Object

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4.5
ランタイムバージョン: Flash Player 10.1, AIR 2.5

ソート対象のフィールドに数値(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 4.5
ランタイムバージョン: Flash Player 10.1, AIR 2.5

この ISortField がカスタムコンパレータ関数を使用している場合は True です。



実装
    public function get usingCustomCompareFunction():Boolean
コンストラクターの詳細

SortField

()コンストラクター
public function SortField(name:String = null, descending:Boolean = false, numeric:Object = null)

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4.5
ランタイムバージョン: Flash Player 10.1, AIR 2.5

コンストラクターです。

パラメーター
name:String (default = null) — このフィールドが比較に使用するプロパティの名前です。 オブジェクトが単純型の場合、null を渡します。
 
descending:Boolean (default = false) — アイテムを降順に配置するかどうかをコンパレータに指示します。
 
numeric:Object (default = null) — ソートアイテムをアルファベット順ではなく数として比較するかどうかをコンパレータに指示します。
メソッドの詳細

initializeDefaultCompareFunction

()メソッド
public function initializeDefaultCompareFunction(obj:Object):void

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4.5
ランタイムバージョン: Flash Player 10.1, AIR 2.5

カスタム比較関数が設定されているかどうか、指定されたフィールドのデータ型、numeric プロパティの値のいずれかに基づいて、比較を実行するためのデフォルト比較関数を設定するために、Sort クラスによって呼び出されるヘルパー関数です。numeric プロパティが true の場合は、ソート時に数値比較が実行されます。

パラメーター

obj:Object — データを含むオブジェクトです。 name プロパティでフィールド名が設定されている場合は、その名前を使用して、このオブジェクトのデータ値にアクセスされます。 設定されていない場合は、オブジェクト自身がデータ値として使用されます。

reverse

()メソッド 
public function reverse():void

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4.5
ランタイムバージョン: Flash Player 10.1, AIR 2.5

このソートフィールドの条件を逆順にします。 フィールドが降順でソートされた場合は、例えば、昇順でソートします。

メモ:ICollectionView は、ISortField が変更されても自動的には更新されません。ビューを更新するには、refresh() メソッドを呼び出します。

SortExample1.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" 
               minWidth="955" minHeight="600">
    <!-- Sample program for spark.collections.Sort and SortField --> 
    <fx:Declarations>
        <s:Sort id="sortbyLastName_FirstName">
            <s:fields>
                <s:SortField name="last"/>
                <s:SortField name="first"/>
            </s:fields>
        </s:Sort>
        <mx:ArrayCollection id="collection" sort="{sortbyLastName_FirstName}">
            <mx:source>
                <fx:Object first="Anders" last="Dickerson"/>
                <fx:Object first="Eileen" last="Maccormick"/>
                <fx:Object first="Aiden" last="MacCormick"/>
                <fx:Object first="Steve" last="MacGregor"/>
            </mx:source>
        </mx:ArrayCollection>
    </fx:Declarations>
    
    <s:VGroup>
        <s:VGroup>
            <s:HGroup>
                <s:Label text="Input Locale ID Name: "/>
                <s:TextInput id="inputLocaleIDName"/>
                <!-- 
                Sets the locale style on the document UI component.
                The SortField and Sort objects defined in the 
                fx:Declarations section will inherit this style.
                -->
                <s:Button click="{setStyle('locale', inputLocaleIDName.text); 
                          collection.refresh()}" label="Apply"/>
            </s:HGroup>
            <s:Label text="Example: 'en-US', 'fr-FR', 'zh-CN', 'ar-SA'"/>
        </s:VGroup>
        <s:DataGrid dataProvider="{collection}" width="100%"
                     creationComplete="{collection.refresh()}">
            <s:columns>
                <s:ArrayList>
                    <s:GridColumn dataField="last"/>
                    <s:GridColumn dataField="first"/>
                </s:ArrayList>
            </s:columns>
        </s:DataGrid>
    </s:VGroup>
</s:Application>
SortExample2.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" 
               minWidth="955" minHeight="600"
               creationComplete="initApp()">
    <!-- Sample program for spark.collections.Sort and SortField -->    
    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import spark.collections.*;
            [Bindable]
            private var collection:ArrayCollection = new ArrayCollection();
            
            private function localeChange():void
            {
                // Sets the locale style on this application.
                // The SortField objects will inherit this style.
                setStyle('locale', inputLocaleIDName.text);
                collection.refresh();
            }

            private function initApp() : void
            {
                // Add data to the collection.
                collection.addItem({first:"Anders", last:"Dickerson"});
                collection.addItem({first:"Steve", last:"Maccormick"});
                collection.addItem({first:"Aiden", last:"MacCormick"});
                collection.addItem({first:"Eileen", last:"MacGregor"});
                
                // Create the Sort instance.
                var sort:Sort = new Sort();
                
                // Set the sort field; sort on the last name first, first name 
                // second.
                var sortfieldLastName:SortField = new SortField("last",true);
                var sortfieldFirstName:SortField = new SortField("first",true);
                sort.fields = [sortfieldLastName, sortfieldFirstName];
                
                // Add the sort field objects to this application's list of
                // style clients.  This will cause the sort field objects to 
                // inherit the locale style from this Application. 
                addStyleClient(sortfieldLastName);
                addStyleClient(sortfieldFirstName);
                
                // Assign the Sort object to the view.
                collection.sort = sort;
                
                // Apply the sort to the collection.
                collection.refresh();
            }
        ]]>
    </fx:Script>
    
    <s:VGroup>
        <s:VGroup>
            <s:HGroup>
                <s:Label text="Input Locale ID Name: "/>
                <s:TextInput id="inputLocaleIDName"/>
                <s:Button click="localeChange()" label="Apply"/>
            </s:HGroup>
            <s:Label text="Example: 'en-US', 'fr-FR', 'zh-CN', 'ar-SA'"/>
        </s:VGroup>
        
        <s:DataGrid dataProvider="{collection}" width="100%"
                     creationComplete="{collection.refresh()}">
            <s:columns>
                <s:ArrayList>
                    <s:GridColumn dataField="last"/>
                    <s:GridColumn dataField="first"/>
                </s:ArrayList>
            </s:columns>
        </s:DataGrid>
    </s:VGroup>
</s:Application>




[ X ]英語で表示される理由
ActionScript 3.0 リファレンスガイドのコンテンツが英語で表示されます。

ActionScript 3.0 リファレンスガイドのすべての部分がすべての言語に翻訳されているわけではありません。言語エレメントが翻訳されていない場合、そのエレメントは英語で表示されます。例えば、ga.controls.HelpBox クラスはどの言語にも訳されていません。このため、リファレンスガイドの日本語バージョンでは、ga.controls.HelpBox クラスは英語で表示されます。