`
fu80008
  • 浏览: 19013 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于Flex的DataGrid的应用拓展(四)

    博客分类:
  • flex
 
阅读更多
Flex的Datagrid在程序中得应用非常广泛,使用起来也非常的简单。但功能还是不够,大家还要自己去实现一些自己的功能。比如排序,它只支持字符串排序,而面向日期或者时间的排序他就无能为力了。下面介绍如何实现数字和日期的自动排序。
1)通过实现DatagridColumn的继承,添加排序方法。
package
{
    import mx.controls.dataGridClasses.DataGridColumn;
    import mx.utils.ObjectUtil;
    
    public class SystemSortDatagridColumn extends DataGridColumn
    {
        public function SystemSortDatagridColumn(columnName:String=null)
        {
            super(columnName);
            if(this.sortCompareFunction!=null){
                this.sortCompareFunction=customSortColumn(this.dataField);
            }
        }
        
        
        
        public static function customSortColumn(sortField:String):Function{
                return function(item1:Object, item2:Object):int{
                    if(item1 is Number && item2 is Number)
                    {
                        return ObjectUtil.numericCompare(item1 as Number,item2 as Number);
                    }else if(item1 is Date && item2 is Date){
                        return ObjectUtil.dateCompare(item1 as Date,item2 as Date);
                    }else{
                       return  ObjectUtil.compare(item1 as String,item2 as String);
                    }
                   
                }
        }
    }
}

2.测试demo:
<?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="application1_creationCompleteHandler(event)" xmlns:local="*">
    <fx:Declarations>
        <!-- 将非可视元素(例如服务、值对象)放在此处 -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import mx.collections.ArrayList;
            import mx.events.FlexEvent;
            
            [Bindable]
         public   var ac:ArrayCollection=new ArrayCollection();
            
            protected function application1_creationCompleteHandler(event:FlexEvent):void
            {
                ac.addItem({"name":"fu1" ,"age":21,"date":new Date()});
                ac.addItem({"name":"fu2" ,"age":1});
                ac.addItem({"name":"fu2" ,"age":111});
                ac.addItem({"name":"fu3" ,"age":"fu"});
                ac.addItem({"name":"fu4" ,"age":"fu1"});
            }
            
        ]]>
    </fx:Script>
    <mx:DataGrid dataProvider="{ac}">
        <mx:columns>
            <local:SystemSortDatagridColumn headerText="Name" dataField="name" />
            <local:SystemSortDatagridColumn headerText="Age" dataField="age" />
        </mx:columns>
    </mx:DataGrid>
    
</s:Application>

分享到:
评论

相关推荐

    FLEX datagrid应用实例

    在本文中,我们将深入探讨基于Adobe Flex的DataGrid组件的应用实例。Flex是一种强大的富互联网应用程序(RIA)开发框架,主要用于构建交互式、响应式的Web应用。DataGrid是Flex中的一个核心组件,它允许开发者以表格...

    flex datagrid 前台 分页

    Flex DataGrid是一款强大的数据展示组件,常用于Adobe Flex或Flash Builder等开发环境中。它能够高效地展示大量数据,并提供丰富的用户交互功能。在本场景中,我们关注的是“前台分页”这一技术。 前台分页是指在...

    Flex Datagrid checkbox实现

    在Flex应用中,Datagrid经常被用于处理和展示大量的结构化数据。在标题“Flex Datagrid checkbox实现”中,讨论的核心是Datagrid中集成复选框(checkbox)的功能。 在Flex Datagrid中实现复选框功能,主要是通过...

    flex DataGrid 表头分组

    在提供的文档《Flex_AdvancedDataGrid的使用.doc》中,可能包含了更多关于如何使用和配置`AdvancedDataGrid`以实现表头分组的详细信息,包括示例代码和最佳实践。建议详细阅读文档以深入理解和应用这个功能。 总的...

    Flex dataGrid 全选、反选

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

    flex datagrid 嵌套checkbox实现全选

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

    flex datagrid

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

    flex datagrid 实现合计功能控件包

    flex datagrid 实现合计功能控件包 带源码,demo fxp是flex4的工程文件,导入到工作空间即可 直接导入项目即可。 更多访问我的blog www.dplayer.net

    flex datagrid 表格 合计

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

    flex DataGrid xml 动态数据列表实例

    `DataGrid`组件是Flex提供的一种强大的工具,用于显示表格形式的数据。在这个实例中,我们将探讨如何利用Flex的`DataGrid`组件结合XML文件来实现动态数据列表。 首先,让我们深入了解`DataGrid`组件。`DataGrid`是...

    将Flex DataGrid数据导出到Excel中

    在开发基于Adobe Flex的应用程序时,我们经常遇到需要将数据展示在用户友好的方式中,例如使用DataGrid组件。然而,有时用户希望将这些数据显示在更传统的格式中,如Microsoft Excel电子表格。本教程将详细介绍如何...

    FLEX的datagrid合计、平均值

    本文将深入探讨如何在Flex的Datagrid中实现数据的合计与平均值计算,帮助开发者更好地理解和应用这些功能。 首先,我们要了解Flex的Datagrid组件的基本结构。Datagrid通常与数据提供者绑定,如ArrayCollection或...

    Flex DataGrid CheckBox 一个简单的全选

    在Flex开发中,DataGrid组件是一个非常常用的控件,它用于展示数据集合,并提供交互式操作,如排序、选择等。本示例聚焦于DataGrid中的CheckBox集成,...同时,了解和掌握这些技巧对于提高Flex应用的用户体验至关重要。

    flex DataGrid改变指定行的背景颜色

    在Flex开发中,DataGrid控件是用于展示数据表格的常用组件,它可以高效地呈现大量结构化信息。在某些情况下,我们可能需要根据特定条件改变DataGrid中的某一行或几行的背景颜色,以突出显示或者区分不同的数据状态。...

    Flex DataGrid 分页

    通过阅读博客文章,我们可以深入了解Flex DataGrid分页的实现细节,学习如何利用PagerBar.mxml或其他工具来优化我们的Flex应用。同时,也可以从中获取灵感,为自己的项目设计更高效、更易用的分页解决方案。

    flex datagrid 分页控件源码

    Flex DataGrid是一款基于Adobe Flex技术的数据展示控件,它允许开发者在Web应用中展示大量数据并进行高效管理。在描述中提到的“flex datagrid pagination”是指DataGrid控件的一个重要特性——分页功能。在处理大...

    Flex DataGrid 改变某一行的背景颜色

    在Flex中,可以为DataGrid定义一个CSS类,然后在需要改变背景色的行上应用这个类。例如: ```css .myCustomRow { background-color: #FF0000; } ``` 然后在数据源中为特定行添加这个类名,或者在代码中动态设置:...

    flex datagrid doubleclick 实例

    压缩包中的`FlexClient1.1`可能是一个包含Flex客户端应用程序的项目,而`FlexServer1.1`可能是服务器端的组件或者服务,如处理DataGrid双击事件后发送的请求。在实际应用中,客户端与服务器端的交互通常通过AMF...

Global site tag (gtag.js) - Google Analytics