`
aaron0927
  • 浏览: 28442 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Flex Datagrid中添加自己的组件

阅读更多
需要用到mx:itemRenderer,一般来说有二种方法
1、重写data方法

<mx:itemRenderer>
        <mx:Component>
         <mx:HBox width="100%" horizontalScrollPolicy="off">
          <mx:Script>
           <![CDATA[
            import mx.controls.Button;

            override public function set data(data:Object):void {
             this.removeAllChildren();
             var b1:Button = new Button();
             b1.label = "下载";
             b1.buttonMode = true;
             b1.useHandCursor = true;
             b1.addEventListener(MouseEvent.CLICK, function(event:MouseEvent):void {
              outerDocument.downloadFile(data.url);
             });
             this.addChild(b1);
             if (outerDocument.isEditable) {
              var b2:Button = new Button();
              b2.label = "删除";
              b2.buttonMode = true;
              b2.useHandCursor = true;
              b2.addEventListener(MouseEvent.CLICK, function(event:MouseEvent):void {
               outerDocument.deleteFile(data.url);
              });
              this.addChild(b2);
             }
            }
           ]]>
          </mx:Script>
         </mx:HBox>
        </mx:Component>
       </mx:itemRenderer>

2、利用creationComplete

<mx:itemRenderer>
        <mx:Component>
         <mx:HBox creationComplete="init(data as Object)" width="100%">
          <mx:Script>
           <![CDATA[
            import mx.controls.Button;

            private var url:String;

            private function init(data:Object):void {
             this.url = data.url.toString();
             var b1:Button = new Button();
             b1.label = "下载";
             b1.buttonMode = true;
             b1.useHandCursor = true;
             b1.height = this.height;
             b1.addEventListener(MouseEvent.CLICK, downloadOperationHandler);
             this.addChild(b1);
             if (outerDocument.isEditable) {
              var b2:Button = new Button();
              b2.label = "删除";
              b2.buttonMode = true;
              b2.useHandCursor = true;
              b2.height = this.height;
              b2.addEventListener(MouseEvent.CLICK, deleteOperationHandler);
              this.addChild(b2);
             }
            }
          
            private function downloadOperationHandler(event:MouseEvent):void {
             outerDocument.downloadFile(url);
            }

            private function deleteOperationHandler(event:MouseEvent):void {
             outerDocument.deleteFile(url);
            }
           ]]>
          </mx:Script>
         </mx:HBox>
        </mx:Component>
       </mx:itemRenderer>


上述二种方法,如果datagrid没有排序功能,那都可以用,但如果有排序,就只能用第一种,第二种用引起数据错位
分享到:
评论

相关推荐

    Flex DataGrid 插入子组件

    在Flex开发中,DataGrid控件是一个非常常用的数据展示组件,它允许开发者以表格的形式展示大量结构化的数据。本文将深入探讨如何在Flex的DataGrid中插入子组件,以实现更丰富的用户界面和交互功能。 一、Flex ...

    Flex Datagrid checkbox实现

    在这个组件中,我们将包含一个CheckBox组件。 ```mxml ``` 2. **设置Datagrid列的renderer属性**:在Datagrid的定义中,找到你想添加复选框的列,并将renderer属性设置为我们刚才创建的自定义Renderer。 ```...

    flex DataGrid 表头分组

    2. **定义数据提供者**:在DataGrid组件中,使用`dataProvider`属性指定数据源。当数据源是支持分组的ArrayCollection或HierarchicalData时,DataGrid会自动识别并显示分组。 3. **配置`AdvancedDataGrid`组件**:...

    flex datagrid 嵌套checkbox实现全选

    在Flex开发中,数据网格(DataGrid)是用于展示数据集合的强大组件,它允许用户以表格形式查看和操作数据。本示例关注的是在DataGrid中嵌套复选框(Checkbox),并实现全选功能。这在需要用户批量选择或操作数据的...

    Flex dataGrid 全选、反选

    在Flex编程中,DataGrid组件是用于展示结构化数据的强大工具。它允许用户对数据进行排序、筛选和编辑。在实际应用中,我们经常需要实现全选和反选功能,以便用户可以一次性选择或取消选择所有条目。本文将详细讨论...

    flex datagrid

    Flex DataGrid是一个强大的数据展示组件,它在Adobe Flex框架中被广泛使用,用于显示和操作大量结构化的数据。这个组件提供了灵活的布局选项,可定制的列格式化,以及丰富的用户交互功能,如排序、筛选和编辑。...

    flex datagrid 表格 合计

    Flex DataGrid 是 Adobe Flex 框架中的一个组件,它用于在应用程序中显示表格数据。在Flex中,实现数据网格的总计功能是一项常见的需求,它能够帮助用户快速地理解和分析大量数据。本项目提供了一个已经实现了总计...

    flex组件之DataGrid高级用法实例源码

    DataGrid组件是Flex中的一个表格控件,它能够显示二维数据集,如ArrayCollection或XMLListCollection。DataGrid的主要功能包括:列自定义、排序、选择、编辑等。在Flex中,DataGrid通常与数据提供者(如 ...

    Flex DataGrid组件 使用详解

    Flex DataGrid组件是Adobe Flex框架中的一个重要控件,专门用于以表格形式展示数据。它具有丰富的功能和灵活性,常用于企业级应用中显示多属性对象的列表。DataGrid组件不仅支持基本的表格布局,还提供了排序、编辑...

    flex datagrid 标题栏添加 checkbox 和 数据行 checkbox 连动

    在Flex开发中,数据网格(DataGrid)是一种常用的组件,用于展示结构化的数据。当我们需要在数据网格中实现复选框功能,以便用户可以多选数据行时,通常会遇到两个主要需求:一是如何在标题栏添加复选框,二是如何使...

    FLEX的datagrid合计、平均值

    在Flex开发中,Datagrid组件是用于展示数据集的一个强大工具,它允许用户以表格的形式查看和操作数据。本文将深入探讨如何在Flex的Datagrid中实现数据的合计与平均值计算,帮助开发者更好地理解和应用这些功能。 ...

    flex DataGrid中文字符排序类

    通过对关键常量和`CHAR_LIB`数组的理解与运用,开发者可以轻松地为自己的项目添加强大的中文排序功能。此外,通过参考提供的链接([http://blog.sina.com.cn/s/blog_5fc933730100iign.html]...

    flex DataGrid xml 动态数据列表实例

    在这个实例中,我们将探讨如何利用Flex的`DataGrid`组件结合XML文件来实现动态数据列表。 首先,让我们深入了解`DataGrid`组件。`DataGrid`是Flex提供的一个可自定义的、可滚动的数据容器,它允许用户以网格形式...

    Flex DataGrid CheckBox 一个简单的全选

    在Flex开发中,DataGrid组件是一个非常常用的控件,它用于展示数据集合,并提供交互式操作,如排序、选择等。本示例聚焦于DataGrid中的CheckBox集成,特别是实现一个全选的功能。以下是对这个主题的详细解释: 一、...

    flex datagrid 添加按钮

    在Flex开发中,DataGrid组件是一个非常常用的控件,用于展示数据列表。在这个场景中,我们需要在DataGrid中添加一个自定义的按钮,并且根据特定的内容来决定这个按钮是否应该被显示。这涉及到Flex组件定制、事件处理...

    FLEX datagrid应用实例

    5. 添加到舞台上:确保将DataGrid添加到父容器中,以便在应用中可见。 三、DataGrid的实例应用 在“FLEX datagrid应用实例”中,我们可以找到以下几种常见应用: 1. 基本展示:展示简单的数据列表,例如用户信息,...

    在flex的dataGrid控件中显示图片的实践

    在Flex开发中,DataGrid控件是用于展示结构化数据的常用组件,它可以灵活地显示表格形式的数据。本文将深入探讨如何在DataGrid中显示图片,特别是在与Spring、Hibernate和Struts等框架集成的背景下,如何处理二进制...

    Flex Datagrid全选功能

    因此,为Datagrid添加全选功能可以提高用户体验。 3. **实现方法**: - **CheckBox**: 可以在Datagrid的头行添加一个CheckBox,当用户点击这个CheckBox时,所有的行将被选中或取消选中。为此,我们需要监听CheckBox...

Global site tag (gtag.js) - Google Analytics