`
isiqi
  • 浏览: 16563984 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex AdvancedDataGrid表格过滤

阅读更多

AdvancedDataGrid过滤,本质上是其数据源(DataProvider)的过滤,通常来说表格的DataProvider2种数据源:HierarchicalData和平面数据ArrayCollection。因此,表格过滤就是HierarchicalDataArrayCollection的过滤。

1ArrayCollection的过滤

ArrayCollection的过滤,相对来说比较简单,ArrayCollection自带filterFunction函数,因此只要设置filterFunction即可实现ArrayCollection的过滤。

关于filterFunction函数如何使用,大家完全可以参考Adobe的参考手册。

f(item:Object):Boolean

如果指定的项目应保留在视图中,则返回值为 true

如果滤镜是不支持的滤镜,则在访问此属性时 Flex 会引发错误。必须在设置 filterFunction 属性后调用 refresh() 以更新视图。

2HierarchicalData的过滤

HierarchicalData,其source通常来说是ArrayCollection,本文假设HierarchicalData.source就是ArrayCollection。既然HierarchicalData过滤,也是ArrayCollection的过滤,因此只要判断AdvancedDataGrid.dataprovider是否为HierarchicalData,即可进行HierarchicalDataArrayCollection的过滤。

下述为一个简单的Demo

<!-- arrayCollection ArrayCollection -->

<mx:AdvancedDataGrid id="adg1" designViewDataType="flat" left="4" top="39" bottom="4" right="4" creationComplete="adg1_creationCompleteHandler(event)"

horizontalScrollPolicy="auto" verticalScrollPolicy="auto" selectionMode="singleRow">

<mx:dataProvider>

<mx:GroupingCollection2 id="groupingCollection2" source="{arrayCollection}">

<mx:Grouping>

<mx:GroupingField name="mark">

<mx:summaries>

<mx:SummaryRow summaryPlacement="group">

<mx:fields>

<mx:SummaryField2 dataField="inventoryvalue"

label="sum mark inventoryvalue" summaryOperation="SUM"/>

<mx:SummaryField2 dataField="inventory"

label="sum mark inventory" summaryOperation="SUM"/>

<mx:SummaryField2 dataField="outlets"

label="sum mark outlets" summaryOperation="SUM"/>

</mx:fields>

</mx:SummaryRow>

</mx:summaries>

</mx:GroupingField>

表格adg1dataProviderGroupingCollection2,就是HierarchicalData,我们可以通过下述方法进行过滤,假设filterFunctonfilterFunc

if(adg1.dataProvider.source is HierarchicalData){

_datagrid.dataProvider.source.source.filterFunction = filterFunc;

adg1.dataProvider.source.source.refresh();

adg1.dataProvider.source.refresh();

}else{

adg1.dataProvider.filterFunction = filterFunc;

adg1.dataProvider.refresh();

}

分享到:
评论

相关推荐

    Flex应用AdvancedDataGrid表头皮肤

    在Flex开发中,AdvancedDataGrid组件是用于展示大量复杂数据的高级网格控件。它提供了比基本DataGrid更丰富的功能,如多级表头、排序、分组、过滤和自定义渲染等。本文将深入探讨Flex应用中的AdvancedDataGrid表头...

    flex-datagrid-advancedDataGrid-demo

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

    表格行嵌套子表格实现

    总结,实现Flex AdvancedDataGrid的表格行嵌套子表格功能涉及多个步骤,包括自定义渲染器、构建层级数据模型、实现展开/折叠逻辑以及性能优化等。尽管描述中提到的实现可能不完全,但通过以上步骤,我们可以构建出一...

    AdvancedDataGrid综合应用

    AdvancedDataGrid是Adobe Flex中的一个组件,它主要用于展示结构化的数据,如表格数据。与简单的DataGrid相比,AdvancedDataGrid提供了更多高级特性,包括分层数据视图、多列排序、自定义布局和样式、拖放功能以及...

    表格演示(1)AdvancedDataGrid应用

    AdvancedDataGrid是Flex框架中一个强大的组件,它专为处理大量复杂数据而设计,常用于企业级应用的表格展示。 在Flex开发中,AdvancedDataGrid相比普通的DataGrid,提供了更丰富的功能和更高级的定制能力。它支持多...

    AdvancedDataGrid多表头与树形表格(数据统计)

    AdvancedDataGrid是Flex中一个功能强大的组件,它允许用户以复杂的方式展示大量数据,包括分组、排序、过滤和自定义列布局。 首先,我们要理解什么是多表头。在数据展示中,多表头是指在表格中拥有多个层次的列标题...

    flex 合并单元格

    本文将围绕“Flex 合并单元格”这一主题进行深入探讨,结合给定的标签“源码”和“工具”,我们将讨论如何在Flex中实现表格(Grid)的单元格合并功能。 在Flex中,我们通常使用MX组件库中的DataGrid或Spark组件库中...

    Flex详细文档.pdf

    - **AdvancedDataGrid控件**: 提供了更高级的表格功能,如分组、分页等。 - **CSS**: 用于美化Flex应用程序的外观和布局。 #### 三、图表与动画 - **绘制饼图**: 使用内置的图表组件绘制饼图,可以配置颜色、标签...

    Flex Datagrid checkbox实现

    Flex Datagrid 是Adobe Flex框架中用于展示数据集的组件,它允许开发者以表格形式展示数据,并提供多种交互功能。在Flex应用中,Datagrid经常被用于处理和展示大量的结构化数据。在标题“Flex Datagrid checkbox实现...

    Flex中DataGrid和其它控件使用

    7. **Filtering**:为用户提供筛选功能可以提高数据浏览效率,DataGrid支持基本的过滤器,而AdvancedDataGrid则提供了更复杂的过滤选项。 8. **Grouping**:AdvancedDataGrid的一个显著特性是数据分组,可以根据...

    flex导入03版excel

    这可能涉及到数据绑定,将ArrayCollection绑定到表格组件(如DataGrid或AdvancedDataGrid),或者进行进一步的数据处理,比如验证、过滤、排序等。 总的来说,实现"flex导入03版excel"的功能,需要掌握以下技术点:...

    Flex开发实例.pdf

    - `AdvancedDataGrid`是`DataGrid`的一个扩展版本,提供了更多高级特性,如排序、过滤等。 #### 19. **CSS** - Flex支持使用CSS来定制界面样式,使得界面风格更加统一和美观。 #### 20. **数据验证** - Flex...

    Flex 3 Cookbook(英文版)

    DataGrid和AdvancedDataGrid是Flex中用于展示表格数据的组件。书中阐述了如何利用这两个组件,包括排序、过滤和编辑数据的功能,提高数据展示的灵活性。 #### Renderers 渲染器用于自定义列表或网格中的项外观。书...

    Flex开发实例--学习必备

    - Flex中的 **Form** 组件可以方便地创建表格布局,并且可以轻松管理表单中的输入字段。 - 支持多种输入类型,如文本框、复选框等。 #### 12. 基本组件 - Flex提供了大量的基本UI组件,如按钮、文本框、复选框等。 ...

    Flex dataGrid 自定义显示列

    过滤功能通常需要编写自定义代码来实现,而分组则可以通过`grouping`属性和`AdvancedDataGrid`的`groupingEnabled`属性来开启。 总的来说,Flex DataGrid的自定义显示列是通过灵活的列配置、自定义渲染器以及数据...

    flex datagrid 改变

    Flex是一个开源的、基于ActionScript的框架,用于创建富互联网应用程序(RIA),而DataGrid是Flex中用于展示数据集合的强大组件,通常用于显示表格数据。 在Flex中,DataGrid组件允许开发者以表格形式展示数据,...

    Flex Gis 开发

    7. **DataGrid控件**:用于展示表格形式的数据,支持排序、过滤等功能。 8. **Tree控件**:以树形结构展示数据,常用于表示层次关系。 9. **AdvancedDataGrid控件**:扩展了DataGrid的功能,提供了更高级的数据展示...

    Flex DataGrid checkBox

    `flex_AdvancedDataGrid实现checkBox全选功能`可能涉及到更复杂的用例,如分组、排序和过滤。在AdvancedDataGrid中,我们可能需要处理更多与数据提供者结构相关的细节,以确保全选/全不选逻辑的正确性。 7. **性能...

    Felx 报表

    例如,`mx:AdvancedDataGrid`组件可以用于显示表格数据,而`mx:Chart`组件则用于创建各种图表,如柱状图、折线图、饼图等。 在“flex 案例”这个压缩包中,可能包含了各种使用Flex报表的实例,比如如何连接到数据源...

Global site tag (gtag.js) - Google Analytics