<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init(event)">
<s:layout>
<s:VerticalLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import com.crap.vo.Teacher;
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
[Bindable]
private var teacherAC:ArrayCollection=new ArrayCollection();
protected function init(event:FlexEvent):void
{
var teacher:Teacher=new Teacher();
teacher.name="name1";
teacherAC.addItem(teacher);
teacher=new Teacher();
teacher.name="name2";
teacherAC.addItem(teacher);
}
protected function bar(event:MouseEvent):void
{
teacherAC.removeItemAt(0);
}
]]>
</fx:Script>
<s:Button click="bar(event)" label="abc"/>
<s:DataGroup dataProvider="{teacherAC}">
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<fx:Script>
<![CDATA[
public override function set data(data:Object):void{
trace(data);
}
]]>
</fx:Script>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:DataGroup>
</s:Application>
上面代码中,当点击了按钮以后,DataGroup的dataProvider的ArrayCollection少了一个项目,这样会触发DataGroup的itemRemoved方法,
里面有
if (oldRenderer is IDataRenderer && oldRenderer !== item)
IDataRenderer(oldRenderer).data = null;
这样就是向ItemRenderer的data setter中传了一个null,不注意的情况下,很容易抛空指针异常.
分享到:
相关推荐
### Flex ItemRenderer 的详细教程 #### 一、ItemRenderer 概述 在 Flex 开发中,ItemRenderer 是一种非常强大的工具,它允许开发者...掌握 ItemRenderer 的使用方法将大大提高 Flex 应用程序的灵活性和功能多样性。
在Flex手机项目开发中,创建自定义的List组件ItemRenderer是一项常见的需求,目的是为了提供更加丰富和个性化的显示效果。本文将深入探讨如何利用IconItemRenderer来实现这一目标,同时结合具体的实例,介绍两种不同...
在Flex4中,ItemRenderer是一种强大的工具,用于自定义数据Grid、List或其他数据绑定组件中的项显示方式。本文将深入探讨如何使用Flex4创建一个ItemRenderer,以实现类似雅虎聊天界面的效果,并介绍相关的核心概念和...
本文将深入探讨Flex项呈示器(ItemRenderer)的概念、使用方法,以及如何根据需求定制它来展示用户信息,如头像和等级。 ## 一、Flex项呈示器(ItemRenderer)简介 Flex项呈示器是Adobe Flex框架中的一个组件,其...
通过示例,读者可以看到如何在MXML标记中直接嵌入itemRenderer,以及如何为数据组件指定dataProvider属性来绑定数据源。 最后,作者强调了深入理解itemRenderer的重要性,特别是它们在Flex框架中的工作原理,以便...
Flex会重用ItemRenderers,所以需要在`set data()`方法中正确地更新UI,而不是在构造函数中。此外,避免在ItemRenderer中使用不必要的计算或重渲染操作。 6. **使用vvList.mxml**: 虽然没有提供`vvList.mxml`的...
Flex_itemRenderer 为 Flex 应用提供了强大的数据展示能力。通过合理利用内联 renderer 和外部 renderer,结合 Flex 的 renderer 复用机制,开发者可以创建既美观又高效的用户界面。此外,根据数据动态调整 renderer...
在Flex应用中,特别是在处理数据集如ArrayCollection时,我们常常需要以不同的方式展示每个项目,例如图片、文本或者更复杂的组件。itemRenderer就提供了这样的功能,让我们能够根据数据动态地创建和定制视图。 ###...
在Flex中,每个数据项都会被渲染成一个ItemRenderer实例,这样我们可以为每个项目定制不同的视觉效果。 在我们的相册例子中,ItemRenderer可能包含以下元素: 1. 图片显示:我们可能会使用mx.controls.Image或...
综上所述,这个项目可能涉及到一个使用Flex DataGrid展示节目或课程播表的应用,播表数据存储在XML文件中,每个节目单元格通过自定义的ItemRenderer展现,可能包含Flash播放器,并且可以通过点击单元格触发页面跳转...
flex中经常会使用到渲染器,这里简要介绍一下渲染器的一些知识
Flex ItemRenderer 是Adobe Flex框架中的一个重要概念,它主要用于自定义MX和Spark组件列表视图(如List、DataGrid等)中的每一项显示样式。ItemRenderer允许开发者根据数据项的内容个性化呈现,提供更丰富的用户...
### Flex 中获取 ItemRenderer 内容的方法 在 Flex 开发中,经常需要处理列表或集合中的数据,并且根据这些数据创建对应的用户界面元素。ItemRenderer 是一个非常重要的概念,在 Flex 中用于表示列表项的视觉外观。...
下面是一个简单的内联itemRenderer的示例,展示如何在Flex项目中创建和使用它: ```xml <!-- 主应用MXML文件 --> <mx:List dataProvider="{myDataProvider}"> <mx:itemRenderer> <s:Label text="{data....
在Flex和AS3开发中,项目渲染器(ItemRenderer)是一个关键的概念,它允许开发者自定义数据项在UI组件中的显示方式。项目渲染器通常用于数据网格、列表或其他可滚动的容器,使得数据显示更加丰富和交互性更强。下面...
但是,我们可以通过自定义数据提供者(dataProvider)和itemRenderer来改变这一行为,使每个选项显示为一个包含Checkbox的复合组件。 1. 创建自定义ItemRenderer: 自定义ItemRenderer是实现下拉框中嵌入Checkbox...
首先,`DataGrid`组件是Flex中用于展示表格数据的标准组件,通常与数据提供器(`dataProvider`)一起使用。在这个例子中,`gridProvider`被用来设置`DataGrid`的数据源,而`gridColumns`则定义了列的信息。在Flex4中...
Flex手机项目代码是一个基于Adobe Flex技术的移动应用开发实例,主要展示了如何利用Flex来构建一个包含数据列表、参数传递和动态组件创建功能的手机应用程序。在这个项目中,开发者"Wanger"使用了Flex SDK,可能结合...
- 重写`set data(value:Object)`方法,根据传入的数据对象更新渲染器的显示。 3. **使用自定义ItemRenderer**: - 在需要自定义渲染的列表或组合框组件上设置`itemRenderer`属性,指向自定义ItemRenderer类。 - ...
<mx:DataGrid id="dg" dataProvider="{dataProvider}" cellFactory="{new ImageCellFactory()}"> <mx:GridColumn dataField="name"/> 图片" itemRenderer="{CustomItemRenderer}"/> ``` 在提供的压缩包文件...