包 | mx.collections |
类 | public class SortField |
继承 | SortField EventDispatcher Object |
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;
MXML 语法隐藏 MXML 语法The <mx:SortField>
tag has the following attributes:
<mx:SortField Properties caseInsensitive="false" compareFunction="Internal compare function" descending="false" name="null" numeric="null" />
属性 | 定义方 | ||
---|---|---|---|
caseInsensitive : Boolean 指定此字段的排序是否应不区分大小写。 | SortField | ||
compareFunction : Function 用于在对关联集合的项目进行排序时比较两个项目的函数。 | SortField | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
descending : Boolean 指定此字段是否应按降序排序。 | SortField | ||
name : String 要排序的字段的名称。 | SortField | ||
numeric : Object 指定当要进行排序的字段包含数值 (number/int/uint) 或数值的字符串表示形式时,比较运算符是否使用数值比较。 | SortField | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object |
方法 | 定义方 | ||
---|---|---|---|
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 | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
反转此排序字段的条件。 | SortField | ||
设置循环操作动态属性的可用性。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | EventDispatcher |
caseInsensitive | 属性 |
caseInsensitive:Boolean
[读写] 指定此字段的排序是否应不区分大小写。
默认值为 false.
此属性可用作数据绑定的源。修改此属性后,将调度 caseInsensitiveChanged
事件。
public function get caseInsensitive():Boolean
public function set caseInsensitive(value:Boolean):void
compareFunction | 属性 |
compareFunction:Function
[读写]
用于在对关联集合的项目进行排序时比较两个项目的函数。如果指定了 Sort 对象中的 compareFunction
属性,则 Flex 会忽略 Sort 的 SortField 对象的所有 compareFunction
属性。
该比较函数必须具有以下签名:
function myCompare(a:Object, b:Object):int
此函数必须返回以下值:
a
应显示在 b
之前
a
等于 b
a
应显示在 b
之后
默认值为具有以下特征的内部比较函数:可以通过区分大小写或不区分大小写的字符串比较按升序或降序执行字符串、数字或日期比较。仅在需要自定义比较算法时指定您自己的函数。这种情况通常仅当在显示中使用计算的字段时出现。
public function get compareFunction():Function
public function set compareFunction(value:Function):void
descending | 属性 |
descending:Boolean
[读写] 指定此字段是否应按降序排序。
默认值为 false
(升序)。
此属性可用作数据绑定的源。修改此属性后,将调度 descendingChanged
事件。
public function get descending():Boolean
public function set descending(value:Boolean):void
name | 属性 |
name:String
[读写] 要排序的字段的名称。
默认值为 null.
此属性可用作数据绑定的源。修改此属性后,将调度 nameChanged
事件。
public function get name():String
public function set name(value:String):void
numeric | 属性 |
numeric:Object
[读写]
指定当要进行排序的字段包含数值 (number/int/uint) 或数值的字符串表示形式时,比较运算符是否使用数值比较。如果此属性为 false
,将使用字符串比较对具有数字字符串表示形式的字段进行排序,因此 100 应在 99 之前,因为字符串值“1”比字符串值“9”小。如果此属性为 null
,则自检第一个数据项以查看它是否为数字或字符串,并基于自检结果继续进行排序。
默认值为 false.
此属性可用作数据绑定的源。修改此属性后,将调度 numericChanged
事件。
public function get numeric():Object
public function set numeric(value:Object):void
SortField | () | 构造函数 |
public function SortField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Object = null)
构造函数。
参数name:String (default = null ) —
此字段用来进行比较的属性的名称。如果该对象为简单类型,则传递 null 。
| |
caseInsensitive:Boolean (default = false ) — 在对字符串进行排序时,指示比较运算符是否忽略值的大小写。 | |
descending:Boolean (default = false ) — 指示比较运算符是否按降序排列项目。 | |
numeric:Object (default = null ) — 指示比较运算符是否按编号而不按字母顺序比较排序项目。 |
reverse | () | 方法 |
public function reverse():void
反转此排序字段的条件。例如,如果该字段原来按降序排序,则现在按升序排序。
注意:修改 SortFields 时不会自动更新 ICollectionView;而调用 refresh()
方法可更新此视图。