`
Callan
  • 浏览: 736031 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Flex 对集合的多个字段进行排序

    博客分类:
  • Flex
阅读更多

因为数组可被多个SortFields 排序,Sort 对象的fields 属性就是一个数组。这些sort 创建一
个层级的结构,所有对象进行分组排序,先根据field 属性里的第一个SortField 对象,再第
一个,以此类推。这个例子代码先根据regions 再states 对集合进行排序:

 

coll = new ArrayCollection{[{city:"Cleveland", state:"Ohio", region:"East"},{city:"Sacramento", state:"California", region:"West"},{city:"Atlanta",state:"Georgia", region:"South"},{city:"Columbus", state:"Ohio", region:"East"}]);
var sort:Sort = new Sort();
sort.fields = [new SortField("region"), new SortField("state")];
coll.sort = sort;
coll.refresh();

 

 

对集合的日期类型数据进行排序,使用mx.utils.ObjectUtil 类的dateCompare 方法比较日期。

ObjectUtil 类提供一个dateCompare 方法用于检测两个Date 对象哪个更早。你可以用
ObjectUtil.dateCompare 方法来比较两个日期的大小。dateCompare 方法返回1, 0, 或
-1:如果值为null 或相等返回0,如果第一个值为null 或小于第二个值返回1,如果第二个值
为null 或小于第一个值返回-1:

 

import mx.collections.Sort;
import mx.collections.ArrayCollection;
import mx.utils.ObjectUtil;

private function sortFunction(a:Object, b:Object, fields:Array = null):int {
	var tempDateA:Date = new Date(Date.parse(a.dob));
	var tempDateB:Date = new Date(Date.parse(b.dob));
	return ObjectUtil.dateCompare(tempDateA, tempDateB);
}
private var arrColl:ArrayCollection;
private function init():void {
	arrColl = new ArrayCollection([{name:"Josh",dob:"08/17/1983"},{name:"John",dob:"07/30/1946"},{name:"John", dob:"07/30/1990"},{name:"John",dob:"07/30/1986"}]);
	var sort:Sort = new Sort();
	sort.compareFunction = sortFunction;
	arrColl.sort = sort;
	arrColl.refresh();
	trace(arrColl);
}

 

 

 

分享到:
评论

相关推荐

    flex下拉dataGrid

    这样的设计通常用于当用户需要从一个较大的数据集合中进行选择时,以更高效、交互性更强的方式展示数据。 在Flex中,下拉控件(Dropdown)通常由ComboBox或List控件实现,而数据网格(DataGrid)则用于显示和操作...

    ArayyCollection排序

    根据需要,可以创建多个SortField来实现多字段排序。 4. **自定义排序**:如果内置的排序方式不能满足需求,可以实现`IComparator`接口创建自定义比较器,然后在Sort对象的`comparatorFunction`属性中设置这个比较...

    Flex4之DataGrid四个的示例【客户端和服务器端】

    1. DataGrid组件简介:DataGrid是Flex中一个功能强大的表格控件,可以显示多列数据,并支持排序、选择、分页等操作。它适用于展示结构化的数据集合,如数据库查询结果或者XML数据。 2. 使用步骤: - 创建DataGrid...

    Flex创建可编辑以及分页的DataGrid

    例如,如果我们有两个字段`name`和`price`,可以这样做: ```xml ``` 为了实现分页,我们将使用`PageableCollection`。将原始数据源转换为此类型,并设置`totalItems`属性来表示总记录数: ```...

    flex datagrid

    它以表格形式呈现,非常适合用来显示多列数据,并提供了排序、选择、编辑等多种功能。在这个教程中,我们将深入探讨 DataGrid 的基本使用和一些关键特性。 1. 建立 DataGrid - MXML 方式:在 MXML 文件中,你可以...

    Flex开发实例.pdf

    - 构建一个简单的Flex网站,包含多个页面和导航菜单,演示Flex在Web开发中的应用。 #### 3. **Flex与WebService通信** - 实现Flex应用与后端WebService之间的数据交互,提高应用的扩展性和灵活性。 #### 4. **...

    flex 自动搜索动能

    你可以使用`ArrayCollection`或`ICollectionView`作为数据源,这些集合支持对内容进行实时过滤。在`KEY_DOWN`事件处理函数中,你可以使用`filterFunction`属性来定义一个自定义的过滤函数,该函数接受输入值和数据源...

    flex3的cookbook书籍完整版dpf(包含目录)

    对集合的多个字段进行排序 13.10节. 对集合的日期类型数据进行排序 13.11节. 创建ArrayCollection的深度拷贝 13.12节. 用唯一的IDs标识数据对象 第十四章. 数据绑定(466) 14.1节. 绑定一个属性 14.2节. 绑定到一...

    Flex Arrar相关操作汇总

    本文档旨在对Flex中Array的基本操作进行详细的总结与讲解,包括但不限于元素的添加、插入、删除以及排序和查询等功能。通过这些操作,开发者能够灵活地管理和操作数据集合。 #### 二、元素添加 ##### 1. push 方法...

    flex学习笔记,技巧学习

    根据提供的信息,我们可以总结出以下关于Flex学习笔记中的关键技术知识点...综上所述,这些Flex学习笔记涵盖了从基本样式设置到复杂的数据处理与展示等多个方面。对于初学者来说,这些都是非常实用且必须掌握的知识点。

    flex 中datagrid 动态攺变行颜色

    Datagrid是MX组件库中的一个控件,它允许我们显示二维的数据集合,并支持排序、分页和选择功能。默认情况下,Datagrid会按照预设的样式显示每一行,但我们可以自定义样式来满足特殊需求。 要动态改变行颜色,主要...

    SQL Server T-SQL高级查询

    - **GROUP BY语句**:用于将数据按照一个或多个列进行分组。 - **HAVING子句**:用于对分组的结果进行条件过滤。 #### 7. 多表连接查询 - **隐式连接**:通过在WHERE子句中指定连接条件来连接多个表。 - **显式连接...

    DataGrid和AdvancedDataGrid CheckBox全选功能

    在开发过程中,确保对可能出现的问题进行充分的测试和错误处理,比如数据源没有`isSelected`字段或数据绑定未正确设置等情况。 通过以上步骤,你可以为`DataGrid`和`AdvancedDataGrid`组件实现全选功能,使用户能...

    设置datagrid行背景色示例

    在Flex或类似的开发环境中,`Datagrid` 提供了高度自定义的特性,包括列宽、排序、分页等功能,以及对行样式的定制,如字体、颜色、边框等。 在“设置datagrid行背景色示例”中,我们看到开发者已经创建了一个继承...

    老师整理的extjs学习笔记

    `Ext.TabPanel` 是一个选项卡面板组件,用于显示多个可切换的面板。下面是一个简单的 `Ext.TabPanel` 示例: ```javascript new Ext.TabPanel({ width: 400, height: 200, renderTo: Ext.getBody(), items: [ ...

    JavaScript的Ext JS框架中的GridPanel组件使用指南

    通过以上步骤,你就能创建一个功能完备的Grid Panel,它不仅可以显示数据,还能进行排序、分组和分页操作。在实际开发中,还可以根据需求进一步定制Grid Panel的行为,例如添加过滤、拖放排序、自定义列格式等功能,...

Global site tag (gtag.js) - Google Analytics