Flex4 vs Flex3: Repeater vs DataGroup

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>

时间: 2024-08-30 14:23:38

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

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

不可能在用户界面上闪闪的吧,recycleChildren属性可帮助我们 recycleChildren属性==缓存,设为true就可以了 本人亲测这个可解决 当然adobe在Flex4中建议使用s:DataGroup http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/spark/components/DataGroup.html

一个Flex 对话框的坑

最近在项目中遇到一个问题,在Flex中使用Alert.show("this is content!", "title");发现对话框可以弹出来,但是文本始终不显示.why? 由此开始了我苦逼的排查之路. 首先,可以排除没有引入包 import mx.controls.Alert;的问题.如果没有引入包的话,编译会出现错误.所以这一点可以排除掉. 但是这个工程之前就可以弹出对话框啊,为什么现在不能正常弹出呢?系统原生的对话框竟然不起作用!是不是因为文本的css设置有问

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

paip.关于动画特效原理 html js 框架总结 1. 动画框架的来源:flex,jqueryui 3 2. 特效的分类 3 2.1. Property effects 动态改变一个或多个目标对象的属性 (Animate.Fade, Resize, and AnimateColor) 4 2.2. Transform effects 缩入.旋转和位置的改变 .(Move, Rotate, and Scale) 4 2.3. Pixel-shader effects 主要是针对图片象素着色的动

Flex4的可视化显示对象

flex3中用addChild(child:DisplayObject) 增加显示对象,flex4中用addElement(element:IVisualElement).绝大多数的flex3显示控件都是从DispalyObject继承的,所以在flex3中增加显示对象非常容易.一旦到了flex4,要显示sprite shape Bitmap都会报错,因为都没有实现IVisualElement接口.习惯了flex3,再用flex4的时候还真有点不适应了. 从adobe帮助文档可以看到直接实现IV

Flex4 flashVars 传值

[html] view plaincopy <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- saved from url=(0014)about:internet --> <html xmlns="http://www.w3

Flex4 Halo组件 List 和 DataGrid

Flex1 到 Flex3 使用的都是 Halo组件,这里将介绍Halo 组件中的List 和 DataGrid .其中 DataGrid 是显示多列数据中最常用的方式.但是在Spark中还有没对应DataGrid的组件. 先写个"食物"的模型 Dinner.as . package model { [Bindable] public class Dinner { public var name:String; public var food:String; public var du

ASP.Net简介、IIS服务器和Repeater重复器

简介:ASP.NET - 制作网站应用程序的技术 WebForm -出来时间比较早,敏捷.便捷开发,封装一些控件,慢慢发现一些控件做的挺好,真正使用没有那么敏捷 MVC -出来时间比较晚 什么东西? winform 界面 - 后台 - 数据库 共同组合出来的程序:ASP.NET 界面(HTML+CSS+JS) - 后台 - 数据库 运行机制:winform - 程序是安装在用户的电脑上,程序是运行在用户电脑上的.net Framework框架上的 ASP.NET - 通过浏览器向服务器发送请求,

webform(三)Repeater控件

Repeater 控件用于显示重复的项目列表,这些项目被限制在该控件.Repeater 控件可被绑定到数据库表.XML 文件或者其他项目列表. 一.建实体类和数据访问类 建立的方法和winform一样,建立时会提示类文件应该放在App_Code文件里,是否放入,选择是,会自动创建该文件夹并将类放进去. webform没有命名空间. 实体类: public class Users { public int Ids { get; set; } public string Ucode { get; s

WebForm数据展示 Web Repeater的使用

Repeater控件:(重复器)按某一格式展示数据 HeaderTemplate - 先执行,执行一次 FooterTemplate - 最后执行,执行一次 ItemTemplate - 在Header之后执行,有多少条数据绑定就执行多少次 AlterNatingItemTemplate - 交替项模板,与ItemTemplate交替执行 Repeater绑定数据: //集合结果指向Repeater1 Repeater1.DataSource = new StusData().SelectStu