在ArrayCollection和DataGrid代码例举下展示的Flex控件、数据结构乃至flex语言存在的衍生性和关联性

转载 2012年01月17日 08:54:52

 

   本文简单讲述了DataGrid等控件在利用labelField\labelFunction等属性进行功能性扩展和展示了使用Array、ArrayList、ArrayCollection等数据结构作为数据效果及及其在mxml和ActionScript中的表现形式和它们的衍生功能增强性关系,意在概要说明控件间、数据类型间乃至mxml和ActionScript间存在某种有律可寻的学习和使用方式。

        诸如DataGrid、List、DropDownList、ComboBox等Flex控件在默认情况会显示数据源中的label属性值,但如果没有此属性也可通过labelField(DataGrid为dataField)来指定控件显示数据源的哪个属性值。此属性的存在使控件的可塑性大为增强,我们可以通过改变此属性值来动态修改控件显示内容,此外诸多控件都提供了labelFunction功能,可以对通过labelField既定的属性的值再次进行格式化(横向:不知是显示指定字段内容,还可以增加其他显示内容,如DataGrid中将多个字段值显示在一个字段上;纵向:对该字段值进行深度加工,达到显示效果更符合要求和习惯,例如改变某时间字段的时间格式等)。

        对于不同控件labelFunction指定函数的参数不同,下面代码展示DataGrid格式化格林尼治时间。

 


 

效果如下图所示:

        上面代码作为数据源ArrayCollection的定义也可以使用mxml标签来表达,此外还有很多这样的例子。这个事实的原理类似于jsp和java,其实jsp是对java的标签化封装,而mxml也是对actionScript的一种 封装,使之更适合web开发人员使用。下面的代码是对本段描述的一种展示,同时也是“一切mxml表示的内容都可以使用actionScript来表达”的一个例证。

 


 

         Array、ArrayList、ArrayCollection这几种数据结构非常相似,而且大都可以作为同一控件的数据源,不过ArrayList出现在Flex4.0,出现原因之一是应对Spark下一些一些dataProvider类型为实现IList,如List控件等。

         上述三种数据结构可以说具有衍生性,Array是基础,   它作为数据源时控件不能很好的感知数据源Array的变化;而ArrayCollection则对Array扩展了很多功能,诸如检索、过滤、排序、分类、更新监控等功能;至于Flex4.中新增加的ArrayList则可将其看做轻量级的ArrayCollection,它不能像ArrayCollection进行筛选过滤数据。下面代码展示ArrayCollection利用Sort针对时间字段值进行排序过程。

 

     单击【排序】前后对比

        控件间往往存在功能上的相似性,例如List和DataGrid,前者是单列数据,后者则是多列数据(我们还可以比较下DropDownList和ComboBox等)。各种数据结构间也存在关联性或衍生性,如本文所提到的Array、ArrayList和ArrayCollection。在学习和使用上注意对比区分利用其衍生和关联,选择最合适的对象完成所需功能。

 

在ArrayCollection和DataGrid代码例举下展示的Flex控件、数据结构乃至flex语言存在的衍生性和关联性

本文简单讲述了DataGrid等控件在利用labelField\labelFunction等属性进行功能性扩展和展示了使用Array、ArrayList、ArrayCollection等数据结构作为数...
  • dongzi87
  • dongzi87
  • 2012年01月08日 23:43
  • 3541

Flex ArrayCollection类用法详解

本文和大家重点学习一下Flex ArrayCollection的概念,经常被使用的两个集合类型是ArrayCollection类XMLListCollection类。ArrayCollection是A...
  • xiaoniba1024
  • xiaoniba1024
  • 2011年06月30日 09:53
  • 20890

关于Flex里面的对象或者ArrayCollection等数组的深度复制问题

13.11 深度拷贝一个ArrayCollection集合 13.11.1 问题 需要拷贝一个索引数组里的所有项或者从一个对象创建一个新对象。 13.11.2解决 使用mx.utils.Obj...
  • vincent50411
  • vincent50411
  • 2012年10月23日 15:32
  • 878

Flex循环删除ArrayCollection中符合条件的项

先看看下面的代码: Js代码   "1.0" encoding="utf-8"?>   "http://www.adobe.com/2006/mxml"  initializ...
  • wq122289014
  • wq122289014
  • 2016年10月20日 15:36
  • 598

Flex ArrayCollection 中的排序、过滤

1.ArrayCollection 排序 private function sortAc():ArrayCollection{                    var sort:Sort...
  • s464036801
  • s464036801
  • 2012年12月13日 11:21
  • 459

Flex 使用ArrayCollection的FilterFunction进行数据过滤

http://www.cnblogs.com/mobile/archive/2006/09/18/507700.aspx(转自)xml version="1.0" encoding="utf-8"?>...
  • faith_zerg
  • faith_zerg
  • 2007年10月22日 12:05
  • 3315

ArrayCollection排序的例子

ArrayCollection排序的例子 var ac:ArrayCollection = new ArrayCollection();//先加入几条测试数据ac.addItem(     {ID:0...
  • accp_fangjian
  • accp_fangjian
  • 2008年04月02日 18:20
  • 3346

flex4 中用ArrayCollection来当作tree的数据源示例

  • u010395804
  • u010395804
  • 2014年06月19日 13:55
  • 979

谈谈Flex中ArrayCollection的复制(克隆)

谈谈Flex中ArrayCollection的复制(克隆)        在Flex的开发过程中,常常会遇到复制ArrayCollection的情况。以前只是从网上找个方法拿来就用,也没有具体的搞清楚...
  • accp_fangjian
  • accp_fangjian
  • 2008年05月09日 16:32
  • 8200

Flex中对ArrayCollection进行排序

利用ArrayCollection的sort属性 xml version="1.0" encoding="utf-8"?> xmlns:mx="http://www.adobe.com/200...
  • lvdou2518
  • lvdou2518
  • 2014年02月28日 14:50
  • 639
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在ArrayCollection和DataGrid代码例举下展示的Flex控件、数据结构乃至flex语言存在的衍生性和关联性
举报原因:
原因补充:

(最多只允许输入30个字)