`
glsjay
  • 浏览: 11032 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

对itemrenderer的一些认知(2)-与父容器的交互

阅读更多
在编写itemrenderer时,会有时候用到与父容器的交互的需求,实现的方法不难

比如在一个datagrid里,相邻的行之前的数据属性有联系,这里给一个例子是上一行的背景颜色是下一行的决定的:

override public function set data(value:Object):void {
	super.data = value; 			
	this.dataProvider = null;
			
	//在data setter里调用自己写的方法
	checkActionSelect();
}
		
public function checkActionSelect():void{

         currentOwner = new DataGrid();
         //获取父容器,这里是DataGrid
         currentOwner = owner as DataGrid;
        //取出父容器的dataProvider,这里是arraycollection
         currentOwnerDataProvider = currentOwner.dataProvider as ArrayCollection;
         //取出这行data在父容器的dataprovider里的index
         index = currentOwnerDataProvider.getItemIndex(data);

         //这里就可以得到下一行的数据了,index + 1就行
         var obj:Object = currentOwnerDataProvider.getItemAt(index + 1);

         //根据下一行的数据来改变颜色
         if(obj.selectedAction == "Approved"){
         	this.setStyle("chromeColor", "green");
         }else if(obj.selectedAction == "Rejected"){
         	this.setStyle("chromeColor", "red");
         }else this.setStyle("chromeColor", "white");
}





另外再提一下validateNow()这个方法,如果想要重画这个itemrenderer,可以override这个方法,当然你也可以用invalidate系列方法去做,但如果你不是对这个itemrenderer掌控那么细致,validateNow()就相对方便,比如:

override public function validateNow():void	{
			super.validateNow();
			this.y += 7;
			this.x += 5;
			this.backgroundColor = 0xcccccc;
			this.wordWrap = true;
			this.height = 40;
			this.width = 9
			this.toolTip = labelStr;
			this.setStyle("textAlign", "left");
			this.alpha = 0.8;
		}


但是也不要过度使用,本来itemrenderer就是一个会拖performance的东西,用的不谨慎甚至会stack overflow.
1
4
分享到:
评论

相关推荐

    flex itemRenderer深入学习--flex相册例子

    在Flex开发中,ItemRenderer是一种非常关键的组件,它允许我们自定义数据项在列表或网格等容器中的显示方式。本篇文章将深入探讨如何利用ItemRenderer实现一个灵活且功能丰富的相册示例,同时也会涉及Flex中的一些...

    Flex itemRenderer的详细教程

    当需要更复杂的逻辑或交互时,仅依靠 MXML 来定义 ItemRenderer 可能不够。这时,可以结合 MXML 和 ActionScript 来定义更复杂的 ItemRenderer。 **示例代码:** ```xml <mx:itemRenderer> ...

    理解_Flex_itemRenderer.pdf

    在Flex中,itemRenderer是一个非常重要的概念,它允许开发者对列表、数据网格、树等数据组件的显示方式进行定制。 在本文中,将首先介绍内联itemRenderer的概念和使用方法,然后探讨itemRenderer的设计目的和Flex...

    itemrenderer help

    ItemRenderer允许用户对列表每一行或单元格的内容进行完全控制,从而开发出更吸引人、更具创意且实用的应用程序。 #### 二、ItemRenderer的基本概念 **1. ItemRenderer的作用** ItemRenderer是一个自定义的显示...

    内渲染器_ItemRenderer

    内渲染器(ItemRenderer)是Flex、Flash Builder或者ActionScript等富互联网应用程序开发中的一个重要概念,主要用于自定义组件列表项的显示方式。在基于Adobe Flex的项目中,它允许开发者根据需要为数据列表(如...

    Flex 定制ItemRender详细解释

    在Flex开发中,ItemRenderer是一种强大的机制,它允许开发者自定义数据列表或组合框等容器中每一项的显示方式。ItemRenderer是ActionScript类,它扩展了MX或Spark的基类,如mx.controls.listClasses.ItemRenderer或s...

    Flex手机项目自定义List的ItemRenderer

    在实际项目中,你可以根据需要在自定义的ItemRenderer中添加更多的逻辑,比如事件监听器,以便在用户与列表项交互时执行特定的操作。 总之,通过继承和扩展IconItemRenderer,我们可以实现Flex手机项目的List组件的...

    flex4做的itemrenderer呈现器

    `data`对象是ItemRenderer的默认属性,它包含了与当前渲染项关联的数据。 3. **样式和布局**: Flex4支持丰富的样式和布局管理。为了模仿雅虎聊天界面,可能需要添加背景色、边框,以及适当的内边距。例如: ``...

    flex itemRenderer 渲染机制的概念和使用

    itemRenderer通常与List、DataGrid等数据绑定组件一起使用,通过设置其`itemRenderer`属性来指定自定义的渲染器类。 ### 二、itemRenderer的使用 1. **创建itemRenderer组件** 要创建一个itemRenderer,首先需要...

    Flex项呈示器ItemRenderer

    在Flex编程中,ItemRenderer是一种关键的组件,用于在数据列表或树等容器中自定义显示数据项的方式。本文将深入探讨Flex项呈示器(ItemRenderer)的概念、使用方法,以及如何根据需求定制它来展示用户信息,如头像和...

    flex中的渲染器(itemrenderer)

    flex中经常会使用到渲染器,这里简要介绍一下渲染器的一些知识

    DataGrid的itemRenderer and HeaderRenderer

    在Flex和Adobe AIR开发中,`DataGrid`控件是一种常用的数据展示组件,它能够以表格形式展示数据集合。...在实际开发中,要确保对`itemRenderer`和`headerRenderer`的定制既满足业务需求,又保持良好的性能和用户体验。

    itemRenderer 提前加载问题

    在IT行业中,"itemRenderer提前加载问题"是一个与数据可视化和UI组件相关的技术挑战,尤其在使用Flex或ActionScript开发富互联网应用程序时。这个标题暗示了开发者可能遇到的一个常见问题,即ItemRenderer(项渲染器...

    Flex中itemRenderer的使用简介

    Flex提供了一些默认的ItemRenderer,但通常我们会根据项目需求创建自定义的ItemRenderer。 创建自定义ItemRenderer通常涉及以下几个步骤: 1. **创建新的MXML或ActionScript类**: 创建一个新的MXML文件,例如`...

    Flex ItemRenderer

    2. **数据绑定**: 在ItemRenderer中,你需要将数据项与UI元素绑定,这样当数据改变时,界面也会自动更新。可以使用`data`属性来访问当前渲染的数据项。 3. **覆盖`updateDisplayList()`方法**: 这是ItemRenderer...

    ActionScript_ItemRenderer

    本教程将深入探讨如何创建和使用ActionScript自定义ItemRenderer,以及如何实现与上一个示例相同的效果。 首先,理解ItemRenderer的重要性。在Flex或Flash Builder等开发环境中,列表视图(如List、DataGrid等)...

    Flex内联itemRenderer

    Flex内联itemRenderer是Adobe Flex框架中的一种技术,用于自定义列表或数据网格组件中项的显示方式。在Flex开发中,我们经常会遇到需要个性化显示数据的情况,比如在一个列表中,我们希望每条数据不仅仅是一个简单的...

    理解 Flex_itemRenderer

    ### 理解 Flex_itemRenderer #### 一、Flex_itemRenderer 概述 Flex_itemRenderer 是 Flex 框架中的一个重要概念,它主要用于定义列表、数据网格等控件中的每一项是如何呈现的。通过自定义 itemRenderer,开发者...

    ItemRenderer的用法

    2. **数据绑定**:`data`属性是`ItemRenderer`的核心,它与数据集中的项关联。通过数据绑定,渲染器可以从`data`属性获取信息,并显示在界面上。 3. **继承自基类**:通常,`ItemRenderer`会继承自`mx.controls....

    flex as actionscript datagrid 背景色 flash itemRenderer script iframe overrider 跳转到别的页面

    在Flex开发中,数据网格(DataGrid)是用于展示大量结构化数据的组件,它允许用户进行交互式浏览和操作。ActionScript是Flex的核心编程语言,用于实现动态功能和交互。在标题和描述中提到的知识点主要涉及Flex ...

Global site tag (gtag.js) - Google Analytics