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应用3D饼图,柱图线图,仪表盘,AdvancedDataGrid表头皮肤,分数较高,不建议下载,仅自己保留
flex advancedDataGrid 中如何实现带checkbox的树
flex AdvancedDataGrid实现checkBox全选功能 实现全选,多选功能
Flex技术中AdvancedDataGrid使用方法
NULL 博文链接:https://kidd.iteye.com/blog/1329253
AdvancedDataGrid控制具体某个单元格可编辑的例子,里面实现了原理,具体如何实现可视判断条件而定,因为自己也是很辛苦实现的,所以分就高点了,别介意,哈哈
flex-datagrid-advancedDataGrid-demo,做的datagrid及advanceddatagrid的例子,希望大家喜欢
flex AdvancedDataGrid 动态添加一行 动态为控制树添加一个节点
<![CDATA[ import mx.controls.CheckBox; import mx.controls.Alert; import com.as3xls.xls.ExcelFile;... Alert.show("行的数据分别是:"+o.idx+"/"+o.names+"/"+o.sex);...</mx:WindowedApplication>
用AdvancedDataGrid组件编写的一个简单的课件管理系统,这是个雏形,有一定的参考价值
flex datavisualization.swc flex 3 AdvancedDataGrid
AdvancedDataGrid综合应用
一个flash文件 可以对flex控件进行css可视化设计 非常的好用
最新的AdvancedDataGrid行嵌套AdvancedDataGrid实现,该例子只是实现AdvancedDataGrid利用AdvancedDataGridRendererProvider在行中渲染另外一个AdvancedDataGrid,当然也可以渲染其它任何想渲染的界面或者组件,价值...
AdvancedDataGrid实现双表头表格,在某些情况下还是比较实用的,下面有个不错的示例,感兴趣的朋友可以参考下
AdvancedDataGrid或datagrid导出到excel.rar AdvancedDataGrid或datagrid导出到excel.rar AdvancedDataGrid或datagrid导出到excel.rar
非常好用的 felx AdvancedDataGrid 多选框 单选框支持渲染器,不需改到AdvancedDataGrid 代码; 支持 xml 数据源的网上可查到一些, 但这个可是 支持 Array 类型数据源的。
AdvancedDataGrid导出复杂表头excel
刚刚学习flexb,用flex做的一个批量删除的例子,希望各位朋友下看!有什么建议的话,请给位朋友跟我联系。我的Email:tengai_wss@163.com
今天我们要说的是官方文档中用了整章介绍的AdvancedDataGrid,AdvancedDataGrid是DataGrid的高级版本,Flex 3 SDK并不包含它,其和Charting Enhancements一起构成了Flex Data Visualization package,TNND,也就是说...