repeaters太老土了!如果你过去使用过它,你会发出这种感概。现在,我们终于要摆脱它了。
Repeaters不仅有沉重的组件,而且接合使用很不方便。那么,Flex 4中有什么可以帮助我们吗?DataGroups!
下面的例子都会用到这个数据:

  1. userData = new ArrayCollection();
  2. userData.addItem({"fname":"Rich","lname":"Tretola"});
  3. userData.addItem({"fname":"Joe","lname":"Smith"});
  4. userData.addItem({"fname":"Bill","lname":"Johnson"});

复制代码

Flex 3的例子使用了Repeater和一个名为PersonRenderer的自定义组件:
主文件中的Repeater(Flex 3):

  1. <mx:VBox horizontalCenter="0" verticalCenter="0">
  2. <mx:Repeater id="rep" dataProvider="{userData}">
  3. <local:PersonRenderer person="{rep.currentItem}"/>
  4. </mx:Repeater>
  5. </mx:VBox>

复制代码

PersonRenderer 组件(Flex 3):

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" >
  3. <mx:Script>
  4. <![CDATA[
  5. [Bindable]
  6. public var person:Object;
  7. ]]>
  8. </mx:Script>
  9. <mx:Label text="{person.fname} {person.lname}"/>
  10. </mx:HBox>

复制代码

<ignore_js_op>

使用了DataGroup和ItemRenderer的Flex4例子。代码如下:
主文件中的DataGroup:

  1. <s:DataGroup itemRenderer="PersonRenderer"
  2. dataProvider="{userData}"
  3. verticalCenter="0" horizontalCenter="0">
  4. <s:layout>
  5. <s:VerticalLayout/>
  6. </s:layout>
  7. </s:DataGroup>

复制代码

PersonRenderer ItemRenderer (Flex 4):

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
  3. xmlns:s="library://ns.adobe.com/flex/spark">
  4. <s:Label text="{data.fname} {data.lname}"/>
  5. </s:ItemRenderer>

复制代码

<ignore_js_op>

Flex4 vs Flex3: Repeater vs DataGroup的更多相关文章

  1. 使用mx:Repeater在删除和添加item时列表闪烁

    使用mx:Repeater在删除和添加item时列表闪烁 不可能在用户界面上闪闪的吧,recycleChildren属性可帮助我们 recycleChildren属性==缓存,设为true就可以了 本 ...

  2. paip.关于动画特效原理 html js 框架总结

    paip.关于动画特效原理 html js 框架总结 1. 动画框架的来源:flex,jqueryui 3 2. 特效的分类 3 2.1. Property effects 动态改变一个或多个目标对象 ...

  3. paip.关于动画效果的原则 html js 框架总结

    paip.关于动画效果的原则 html js 框架总结 1. 动画框架的来源:flex,jqueryui 3 2. 特效的分类 3 2.1. Property effects 动态改变一个或多个目标对 ...

  4. 一个Flex 对话框的坑

    最近在项目中遇到一个问题,在Flex中使用Alert.show("this is content!", "title");发现对话框可以弹出来,但是文本始终不显 ...

  5. Flex4的可视化显示对象

    flex3中用addChild(child:DisplayObject) 增加显示对象,flex4中用addElement(element:IVisualElement).绝大多数的flex3显示控件 ...

  6. FLEX4中的Panel如何实现带自定义图标和按钮

      做过flex开发的程序员都知道,使用flex3中的panel自定义按钮很容易,而且flex3的panel有icon属性.但是flex4的中大部分的控件与flex3中的控件实现方式有很大的变化,同是 ...

  7. Flex4 DataGrid ItemRenderer内嵌方式

    Flex4 DataGrid ItemRenderer像Flex3一直内嵌ItemRenderer会报空对象引用的错误,如: <s:GridColumn dataField="titl ...

  8. 解决Flex4 发布后访问 初始化极其缓慢的问题

    原文http://blog.163.com/vituk93@126/blog/static/170958034201282222046364/ 昨天找了个免费.net空间,想测试一下做的一个简单Fle ...

  9. Flex4 设置combobox选项不可编辑

    近日做数据的增删改查,使用的flex4的ComboBox控件---> flex4中ComboBox其实就是TextInput的叠加 flex3中ComboBox其实就是Label的叠加 开始是使 ...

随机推荐

  1. .net弹出框

    弹出框可以使用div来显示在前台增加 <div id="flowDiv" runat="server"> <div class="r ...

  2. 在SSRS 里实现 SUMIF

    最近在做报表时,要实现Excel中的SUMIF的功能, 示例:SUMIF($B$2:$B$465,"East",$G$2:$G$465),即汇总B列值等于East的G列值. 在SS ...

  3. php强制转换类型和CMS远程管理插件的危险

    远程管理插件是十分受WordPress站点管理员欢迎的工具,它们允许用户同时对多个站点执行相同的操作,如,更新到最新的发行版或安装插件.然而,为了实现这些操作,客户端插件需要赋予远程用户很大的权限.因 ...

  4. C/C++构建系统 -工具汇总

    关于构建系统可以先参考百科 http://en.wikipedia.org/wiki/List_of_build_automation_software http://www.drdobbs.com/ ...

  5. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q92-Q94)

    Question  92  You are designing a SharePoint 2010 application. You need to make sure the application ...

  6. OC中的深拷贝与浅拷贝

    深拷贝(deep copy)与浅拷贝(shallow copy)的定义一直是有争论的. 一种理解是: 所谓的浅拷贝, 就是不完全的拷贝 NSString *s = @"123"; ...

  7. subversion SVN

    subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件. Subversion是一个版本控制系统,相对于的RCS.C ...

  8. Ubuntu 安装Samba服务器

    1.安装 sudo apt-get update sudo apt-get install samba (如果出现库依赖问题可用命令sudo apt-get install samba libwbcl ...

  9. Android 手机卫士--九宫格使用

    本文地址:http://www.cnblogs.com/wuyudong/p/5907736.html,转载请注明源地址. 采用GridView来实现,和ListView使用方式类似,列数(3列) 首 ...

  10. 我的android学习经历7

    android签名后报错的问题 Duplicate id @+id/imageView, already defined earlier in this layout,android生成报错 这个是项 ...