AdvancedDataGrid过滤,本质上是其数据源(DataProvider)的过滤,通常来说表格的DataProvider有2种数据源:HierarchicalData和平面数据ArrayCollection。因此,表格过滤就是HierarchicalData和ArrayCollection的过滤。
1、ArrayCollection的过滤
ArrayCollection的过滤,相对来说比较简单,ArrayCollection自带filterFunction函数,因此只要设置filterFunction即可实现ArrayCollection的过滤。
关于filterFunction函数如何使用,大家完全可以参考Adobe的参考手册。
f(item:Object):Boolean
如果指定的项目应保留在视图中,则返回值为 true。
如果滤镜是不支持的滤镜,则在访问此属性时 Flex 会引发错误。必须在设置 filterFunction 属性后调用 refresh() 以更新视图。
2、HierarchicalData的过滤
HierarchicalData,其source通常来说是ArrayCollection,本文假设HierarchicalData.source就是ArrayCollection。既然HierarchicalData过滤,也是ArrayCollection的过滤,因此只要判断AdvancedDataGrid.dataprovider是否为HierarchicalData,即可进行HierarchicalData和ArrayCollection的过滤。
下述为一个简单的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>
…
|
表格adg1的dataProvider为GroupingCollection2,就是HierarchicalData,我们可以通过下述方法进行过滤,假设filterFuncton为filterFunc。
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组件是用于展示大量复杂数据的高级网格控件。它提供了比基本DataGrid更丰富的功能,如多级表头、排序、分组、过滤和自定义渲染等。本文将深入探讨Flex应用中的AdvancedDataGrid表头...
在Flex编程领域,数据网格(DataGrid)是用于展示大量结构化数据的组件,而AdvancedDataGrid则是DataGrid的一个增强版,提供了更为丰富的功能和更高级的定制能力。本示例"flex-datagrid-advancedDataGrid-demo"显然...
总结,实现Flex AdvancedDataGrid的表格行嵌套子表格功能涉及多个步骤,包括自定义渲染器、构建层级数据模型、实现展开/折叠逻辑以及性能优化等。尽管描述中提到的实现可能不完全,但通过以上步骤,我们可以构建出一...
AdvancedDataGrid是Adobe Flex中的一个组件,它主要用于展示结构化的数据,如表格数据。与简单的DataGrid相比,AdvancedDataGrid提供了更多高级特性,包括分层数据视图、多列排序、自定义布局和样式、拖放功能以及...
AdvancedDataGrid是Flex框架中一个强大的组件,它专为处理大量复杂数据而设计,常用于企业级应用的表格展示。 在Flex开发中,AdvancedDataGrid相比普通的DataGrid,提供了更丰富的功能和更高级的定制能力。它支持多...
AdvancedDataGrid是Flex中一个功能强大的组件,它允许用户以复杂的方式展示大量数据,包括分组、排序、过滤和自定义列布局。 首先,我们要理解什么是多表头。在数据展示中,多表头是指在表格中拥有多个层次的列标题...
本文将围绕“Flex 合并单元格”这一主题进行深入探讨,结合给定的标签“源码”和“工具”,我们将讨论如何在Flex中实现表格(Grid)的单元格合并功能。 在Flex中,我们通常使用MX组件库中的DataGrid或Spark组件库中...
- **AdvancedDataGrid控件**: 提供了更高级的表格功能,如分组、分页等。 - **CSS**: 用于美化Flex应用程序的外观和布局。 #### 三、图表与动画 - **绘制饼图**: 使用内置的图表组件绘制饼图,可以配置颜色、标签...
Flex Datagrid 是Adobe Flex框架中用于展示数据集的组件,它允许开发者以表格形式展示数据,并提供多种交互功能。在Flex应用中,Datagrid经常被用于处理和展示大量的结构化数据。在标题“Flex Datagrid checkbox实现...
7. **Filtering**:为用户提供筛选功能可以提高数据浏览效率,DataGrid支持基本的过滤器,而AdvancedDataGrid则提供了更复杂的过滤选项。 8. **Grouping**:AdvancedDataGrid的一个显著特性是数据分组,可以根据...
这可能涉及到数据绑定,将ArrayCollection绑定到表格组件(如DataGrid或AdvancedDataGrid),或者进行进一步的数据处理,比如验证、过滤、排序等。 总的来说,实现"flex导入03版excel"的功能,需要掌握以下技术点:...
- `AdvancedDataGrid`是`DataGrid`的一个扩展版本,提供了更多高级特性,如排序、过滤等。 #### 19. **CSS** - Flex支持使用CSS来定制界面样式,使得界面风格更加统一和美观。 #### 20. **数据验证** - Flex...
DataGrid和AdvancedDataGrid是Flex中用于展示表格数据的组件。书中阐述了如何利用这两个组件,包括排序、过滤和编辑数据的功能,提高数据展示的灵活性。 #### Renderers 渲染器用于自定义列表或网格中的项外观。书...
- Flex中的 **Form** 组件可以方便地创建表格布局,并且可以轻松管理表单中的输入字段。 - 支持多种输入类型,如文本框、复选框等。 #### 12. 基本组件 - Flex提供了大量的基本UI组件,如按钮、文本框、复选框等。 ...
过滤功能通常需要编写自定义代码来实现,而分组则可以通过`grouping`属性和`AdvancedDataGrid`的`groupingEnabled`属性来开启。 总的来说,Flex DataGrid的自定义显示列是通过灵活的列配置、自定义渲染器以及数据...
Flex是一个开源的、基于ActionScript的框架,用于创建富互联网应用程序(RIA),而DataGrid是Flex中用于展示数据集合的强大组件,通常用于显示表格数据。 在Flex中,DataGrid组件允许开发者以表格形式展示数据,...
7. **DataGrid控件**:用于展示表格形式的数据,支持排序、过滤等功能。 8. **Tree控件**:以树形结构展示数据,常用于表示层次关系。 9. **AdvancedDataGrid控件**:扩展了DataGrid的功能,提供了更高级的数据展示...
`flex_AdvancedDataGrid实现checkBox全选功能`可能涉及到更复杂的用例,如分组、排序和过滤。在AdvancedDataGrid中,我们可能需要处理更多与数据提供者结构相关的细节,以确保全选/全不选逻辑的正确性。 7. **性能...
例如,`mx:AdvancedDataGrid`组件可以用于显示表格数据,而`mx:Chart`组件则用于创建各种图表,如柱状图、折线图、饼图等。 在“flex 案例”这个压缩包中,可能包含了各种使用Flex报表的实例,比如如何连接到数据源...