パッケージ | mx.collections |
クラス | public class SortField |
継承 | SortField EventDispatcher Object |
実装 | ISortField |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
Flex 4.5 以降では、このクラスの代わりとして 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
関連付けられたコレクションのアイテムをソートするときに 2 つのアイテムを比較する関数です。 | SortField | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
descending : Boolean
このフィールドを降順でソートするかどうかを指定します。 | SortField | ||
name : String
ソートするフィールドの名前です。 | SortField | ||
numeric : Object
ソート対象のフィールドに数値(number/int/uint)、または数値のストリング表現が含まれている場合、コンパレータが数値比較を実行するように指定します。 | SortField | ||
usingCustomCompareFunction : Boolean [読み取り専用]
この ISortField がカスタムコンパレータ関数を使用している場合は True です。 | 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 | ||
カスタム比較関数が設定されているかどうか、指定されたフィールドのデータ型、numeric プロパティの値のいずれかに基づいて、比較を実行するためのデフォルト比較関数を設定するために、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()
メソッドによって内部的に使用されます。 これ以外の使用方法はサポートされていません。フィールドのソートに Sort
クラスでこの ISortField を使用しないようにする(compareFunction や name がない)場合は、-1 を返します。 それ以外の場合は、ソートオプションのビットマスクを返します。
実装
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 |
関連付けられたコレクションのアイテムをソートするときに 2 つのアイテムを比較する関数です。 ISort オブジェクトの compareFunction
プロパティを指定した場合、ISort の SortField オブジェクトの compareFunction
プロパティはすべて無視されます。
比較関数には次のシグネチャが必要です。
function myCompare(a:Object, b:Object):int
この関数では、次の値が返される必要があります。
a
がb
の前に現れるソート順の場合は -1 です。a
がb
と等しい場合は 0 です。a
がb
の後に表示されるソート順の場合は 1 です。
デフォルト値は、ストリング、数値、日付を比較できる内部比較関数です。この比較関数では、昇順または降順での比較が可能で、ストリングの比較に関しては大文字と小文字の区別の有無を指定できます。 カスタム比較アルゴリズムが必要な場合にのみ、独自の関数を指定します。 このことは、通常、計算フィールドが表示で使用される場合にのみ該当します。
言語固有のソートが必要な場合は、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 | プロパティ |
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 | プロパティ |
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 |
カスタム比較関数が設定されているかどうか、指定されたフィールドのデータ型、numeric プロパティの値のいずれかに基づいて、比較を実行するためのデフォルト比較関数を設定するために、Sort
クラスによって呼び出されるヘルパー関数です。numeric
プロパティが true の場合は、ソート時に数値比較が実行されます。
パラメーター
obj:Object — データを含むオブジェクトです。 name プロパティでフィールド名が設定されている場合は、その名前を使用して、このオブジェクトのデータ値にアクセスされます。 設定されていない場合は、オブジェクト自身がデータ値として使用されます。
|
reverse | () | メソッド |
public function reverse():void
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
このソートフィールドの条件を逆順にします。 フィールドが降順でソートされた場合は、例えば、昇順でソートします。
メモ:ICollectionView
は、ISortField
が変更されても自動的には更新されません。ビューを更新するには、refresh()
メソッドを呼び出します。
Tue Jun 12 2018, 10:34 AM Z