`

Flex AdvancedDataGrid 设置每一行的背景色

    博客分类:
  • FLEX
阅读更多


一、DataGrid

继承DataGrid添加

 

      /**用于设置每行的颜色
       * uint表示返回的颜色值
       * @param item 对应每列的数据
       * @param color 对应原始的颜色值
       * @param dataIndex 数据索引
       * @return uint 表示返回的颜色值
       *
       */	
		public var rowColorFunction:Function;
        override protected function drawRowBackground(s:Sprite,rowIndex:int,y:Number, height:Number, color:uint, dataIndex:int):void
        {
            if( this.rowColorFunction != null )
            {
                  if( dataIndex < this.dataProvider.length )
                  {
                        var item:Object = this.dataProvider.getItemAt(dataIndex);
                        color = this.rowColorFunction.call(this, item, color,dataIndex);
                  }
            }           
            super.drawRowBackground(s, rowIndex, y, height, color, dataIndex);
        }
 

 

 

二、AdvancedDataGrid

 

继承 AdvancedDataGrid 添加

 

      /**用于设置每行的颜色
       * uint表示返回的颜色值
       * @param item 对应每列的数据
       * @param color 对应原始的颜色值
       * @param dataIndex 数据索引
       * @return uint 表示返回的颜色值
       *
       */		
		public var rowColorFunction:Function;
        override protected function drawRowBackground(s:Sprite,rowIndex:int,y:Number, height:Number, color:uint, dataIndex:int):void
        {
            if( this.rowColorFunction != null )
            {
                  if( dataIndex < this.dataProvider.length )
                  {
                       color = this.rowColorFunction.call(this, listItems[rowIndex][0].data,color,dataIndex);
                  }
            }           
            super.drawRowBackground(s, rowIndex, y, height, color, dataIndex);
        }	

 与dataGrid为何不同呢,因为AdvancedDataGrid 是一种支持层级数据源的高级表格。通过查看AdvancedDataGrid 的源代码,会发现其在调用drawRowBackground 时传递的rowIndex:int实际上就是从listItems中获取的长度,这样就可获取他们的data。 也就是数据源item

 

三、使用

 

 

            /**
            * 设置表格颜色隔行渐变
            */    
            private function setCustomColor(item:Object, color:uint,dataIndex:int):uint 
            { 
                if( dataIndex % 2 == 1 ) 
                { 
                    return 0xFEF3D1; 
                } 

                return color;
            }

 

   效果:


    /**

            * 某行Territory_Rep列  == "T.R. Smith"时变色
            */              
           private function setCustomColor2(item:Object, color:uint,dataIndex:int):uint 
            { 
                if( item.Territory_Rep  == "T.R. Smith" ) 
                { 
                    return 0xFEF3D1; 
                } 

                return color;
            } 

    效果:


  • 大小: 5.6 KB
  • 大小: 6.4 KB
分享到:
评论
1 楼 q87691116 2016-07-25  
rowColorFunction 和setCustomColor2 怎么关联调用的呢 新学 flex

相关推荐

    Flex应用AdvancedDataGrid表头皮肤

    3. **样式和主题**:在Flex中,我们可以使用CSS来设置AdvancedDataGrid的样式,包括表头的颜色、字体、间距等。Flex还支持主题(Theme),通过预定义的一系列样式和皮肤,可以快速改变整个应用程序的外观。例如, ...

    Flex技术中AdvancedDataGrid使用方法

    `AdvancedDataGrid`提供了强大的自定义功能,可以针对每一行或每一列设置不同的样式。这对于创建视觉上吸引人的数据展示界面非常有用。 **实现步骤:** 1. **行样式:** 可以通过设置`itemRenderer`的`styleName`...

    FLEX AdvancedDataGrid 复选框

    在IT行业中,AdvancedDataGrid是Flex(Adobe Flex)框架中一个强大的数据网格组件,用于显示大量结构化的数据。它提供了高级的数据呈现功能,比如分组、排序、过滤和自定义渲染。本文将深入探讨“FLEX ...

    flex advancedDataGrid 中如何实现带checkbox的树

    在Flex开发中,AdvancedDataGrid组件是一个功能强大的数据网格,它可以显示层次结构的数据,并提供了丰富的定制选项。在一些应用场景中,我们可能需要在AdvancedDataGrid中实现带有复选框的树形结构,以便用户可以...

    flex AdvancedDataGrid实现checkBox全选功能

    在Flex开发中,AdvancedDataGrid是一款强大的数据网格组件,它提供了丰富的数据展示和交互功能,如排序、分组、过滤等。在实际应用中,我们经常需要为用户提供选择多条数据的能力,这时CheckBox的选择功能就显得尤为...

    flex 使用AdvancedDataGrid组件的课件管理系统

    在Flex开发环境中,AdvancedDataGrid组件是一个强大的数据展示工具,尤其适用于处理大量复杂数据的网格显示。本课件管理系统就是基于这个组件构建的,旨在提供一个基础的平台,用于管理和浏览课件信息。下面将详细...

    flex-datagrid-advancedDataGrid-demo

    在Flex编程领域,数据网格(DataGrid)是用于展示大量结构化数据的组件,而AdvancedDataGrid则是DataGrid的一个增强版,提供了更为丰富的功能和更高级的定制能力。本示例"flex-datagrid-advancedDataGrid-demo"显然...

    AdvancedDataGrid 动态添加节点 控制树

    总之,AdvancedDataGrid在Flex开发中是一个强大的工具,通过掌握动态添加节点和行的技术,你可以创建更具交互性和动态性的数据展示。在实践中不断探索和优化,将使你的应用程序更加用户友好和高效。

    flex css设计器

    4. **控件库支持**:Flex CSS设计器支持大部分Flex提供的内置控件,如按钮、面板、列表等,允许用户针对每个控件独立设置样式。 5. **代码生成**:完成设计后,工具会自动生成相应的CSS代码,可以直接复制到Flex...

    AdvancedDataGrid综合应用

    在Flex开发中,AdvancedDataGrid是一个强大的组件,它扩展了基本的DataGrid,提供了更复杂的数据展示和交互功能。这个主题涵盖了如何在Flex项目中有效地利用AdvancedDataGrid来实现数据的高级显示和操作。 1. **...

    最新的AdvancedDataGrid行嵌套AdvancedDataGrid实现

    最新的AdvancedDataGrid行嵌套AdvancedDataGrid实现,该例子只是实现AdvancedDataGrid利用AdvancedDataGridRendererProvider在行中渲染另外一个AdvancedDataGrid,当然也可以渲染其它任何想渲染的界面或者组件,价值...

    Flex 全选效果 批量删除

    这个复选框的状态改变会触发一个事件,这个事件会遍历数据网格的所有行,并根据复选框的状态设置对应行的选中状态。在ActionScript或MXML中,我们可以监听`AdvancedDataGrid`的`itemClick`事件,并在事件处理器中...

    flex导出excel的代码

    Alert.show("行的数据分别是:"+o.idx+"/"+o.names+"/"+o.sex); } private var sheet:Sheet; private function onCreate():void { var excelFile:ExcelFile = new ExcelFile(); sheet = new Sheet...

    Flex中AdvancedDataGrid的用法示例介绍

    示例中的数据源是通过ArrayCollection创建的,包含有多个对象,每个对象都代表表格中的一行数据。每个对象的属性包括了学校名称和一系列学科的成绩数据。通过设置dataProvider="{flatArray}"属性,将这个集合绑定到...

    AdvancedDataGrid datavisualization.swc

    flex datavisualization.swc flex 3 AdvancedDataGrid

    AdvancedDataGrid或datagrid导出到excel.rar

    AdvancedDataGrid或datagrid导出到excel.rar AdvancedDataGrid或datagrid导出到excel.rar AdvancedDataGrid或datagrid导出到excel.rar

    flex DataGrid 表头分组

    5. **样式和外观**:为了优化分组后的视觉效果,可能需要调整`AdvancedDataGrid`的样式,例如改变分组行的颜色、字体等。这可以通过CSS样式表或直接在MXML中设置`styleName`属性来完成。 在提供的文档《Flex_...

    Flex 3 发现之旅

    在Flex 3中,开发者们可以体验到一系列新特性,其中AdvancedDataGrid是一个引人注目的组件,它是DataGrid的增强版。AdvancedDataGrid并非包含在标准的Flex 3 SDK中,因为它与Charting Enhancements一起构成了Flex ...

    AdvancedDataGrid动态加载.rar

    在Flex 3中,AdvancedDataGrid控件是一个强大的数据展示组件,特别适合处理大量数据集。这个"AdvancedDataGrid动态加载.rar"压缩包文件显然包含了能够直接运行的代码示例,用于演示如何实现AdvancedDataGrid的动态...

Global site tag (gtag.js) - Google Analytics