Flex 3 AdvancedDataGrid的使用(六)
2011-09-29 15:13
507 查看
创建多个汇总
您可以在单个GroupingField实例中指定多个SummaryRow实例。在下面的示例中,我们定义如下字段为Region组创建汇总数据:Min Actual、Max Actual、Min Estimate和Max Estimate:
运行示例
创建列分组
您可以使用列分组将多列归集到一个单一列表头下,如下所示:
在该示例中,您可以提供给数据表格以扁平数据,然后对Actual和Estimate列归组到一个单一的名称为Revenues的列中。
要在一个AdvancedDataGrid控件中进行列分组,您必须如下做:
使用AdvancedDataGrid.groupedColumns属性而不是AdvancedDataGrid.columns属性来标识列。
使用AdvancedDataGridColumnGroup来指定分组。
下面是前面示意图中的AdvancedDataGrid控件的代码实现:
运行示例
groupedColumns属性包括AdvancedDataGridColumn类和AdvancedDataGridColumnGroup类的实例。AdvancedDataGridColumn类的实例在控件中显示为单独的一列。而所有在AdvancedDataGridColumnGroup实例中指定的列将作为已分组的列显示在一起。
您可以给控件添加多个分组,下面的示例增加名称为Area和Revenue的两个分组:
运行示例
您还可以将分组嵌套以让一个分组列包含多个分组,如下所示:
运行示例
在分组中拖放列
By default, you can drag the columns in a group within the group to reposition them. You can also drag the entire group to reposition it in the AdvancedDataGrid control. 默认情况下,您可以拖动分组中的各列以在分组中重新放置它们。您也可以拖动整个分组以在AdvancedDataGrid控件中重新放置它们。
要禁用某一分组中所有列的拖动,设置AdvancedDataGridColumnGroup.childrenDragEnabled属性为false。要禁用单个列的拖动,设置AdvancedDataGridColumn.dragEnabled属性为false。
您可以在单个GroupingField实例中指定多个SummaryRow实例。在下面的示例中,我们定义如下字段为Region组创建汇总数据:Min Actual、Max Actual、Min Estimate和Max Estimate:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; include "SimpleFlatData.as" ]]> </mx:Script> <mx:AdvancedDataGrid id="myADG" width="100%" height="100%" initialize="gc.refresh();"> <mx:dataProvider> <mx:GroupingCollection id="gc" source="{dpFlat}"> <mx:Grouping> <mx:GroupingField name="Region"> <mx:SummaryRow summaryPlacement="group"> <mx:SummaryField operation="MIN" dataField="Actual" label="Min Actual"/> <mx:SummaryField operation="MAX" dataField="Actual" label="Max Actual"/> </mx:SummaryRow> <mx:SummaryRow summaryPlacement="group"> <mx:SummaryField operation="MIN" dataField="Estimate" label="Min Estimate"/> <mx:SummaryField operation="MAX" dataField="Estimate" label="Max Estimate"/> </mx:SummaryRow> </mx:GroupingField> <mx:GroupingField name="Territory"/> </mx:Grouping> </mx:GroupingCollection> </mx:dataProvider> <mx:columns> <mx:AdvancedDataGridColumn dataField="Region"/> <mx:AdvancedDataGridColumn dataField="Territory_Rep" headerText="Territory Rep"/> <mx:AdvancedDataGridColumn dataField="Actual"/> <mx:AdvancedDataGridColumn dataField="Estimate"/> <mx:AdvancedDataGridColumn dataField="Min Actual"/> <mx:AdvancedDataGridColumn dataField="Max Actual"/> <mx:AdvancedDataGridColumn dataField="Min Estimate"/> <mx:AdvancedDataGridColumn dataField="Max Estimate"/> </mx:columns> </mx:AdvancedDataGrid> </mx:Application>
运行示例
创建列分组
您可以使用列分组将多列归集到一个单一列表头下,如下所示:
在该示例中,您可以提供给数据表格以扁平数据,然后对Actual和Estimate列归组到一个单一的名称为Revenues的列中。
要在一个AdvancedDataGrid控件中进行列分组,您必须如下做:
使用AdvancedDataGrid.groupedColumns属性而不是AdvancedDataGrid.columns属性来标识列。
使用AdvancedDataGridColumnGroup来指定分组。
下面是前面示意图中的AdvancedDataGrid控件的代码实现:
<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; include "SimpleFlatData.as"; ]]> </mx:Script> <mx:AdvancedDataGrid id="myADG" dataProvider="{dpFlat}" width="100%" height="100%"> <mx:groupedColumns> <mx:AdvancedDataGridColumn dataField="Region"/> <mx:AdvancedDataGridColumn dataField="Territory"/> <mx:AdvancedDataGridColumn dataField="Territory_Rep" headerText="Territory Rep"/> <mx:AdvancedDataGridColumnGroup headerText="Revenues"> <mx:AdvancedDataGridColumn dataField="Actual"/> <mx:AdvancedDataGridColumn dataField="Estimate"/> </mx:AdvancedDataGridColumnGroup> </mx:groupedColumns> </mx:AdvancedDataGrid> </mx:Application>
运行示例
groupedColumns属性包括AdvancedDataGridColumn类和AdvancedDataGridColumnGroup类的实例。AdvancedDataGridColumn类的实例在控件中显示为单独的一列。而所有在AdvancedDataGridColumnGroup实例中指定的列将作为已分组的列显示在一起。
您可以给控件添加多个分组,下面的示例增加名称为Area和Revenue的两个分组:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; include "SimpleFlatData.as"; ]]> </mx:Script> <mx:AdvancedDataGrid id="myADG" dataProvider="{dpFlat}" width="100%" height="100%"> <mx:groupedColumns> <mx:AdvancedDataGridColumn dataField="Territory_Rep" headerText="Territory Rep"/> <mx:AdvancedDataGridColumnGroup headerText="Area"> <mx:AdvancedDataGridColumn dataField="Region"/> <mx:AdvancedDataGridColumn dataField="Territory"/> </mx:AdvancedDataGridColumnGroup> <mx:AdvancedDataGridColumnGroup headerText="Revenues"> <mx:AdvancedDataGridColumn dataField="Actual"/> <mx:AdvancedDataGridColumn dataField="Estimate"/> </mx:AdvancedDataGridColumnGroup> </mx:groupedColumns> </mx:AdvancedDataGrid> </mx:Application>
运行示例
您还可以将分组嵌套以让一个分组列包含多个分组,如下所示:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; include "SimpleFlatData.as"; ]]> </mx:Script> <mx:AdvancedDataGrid id="myADG" dataProvider="{dpFlat}" width="100%" height="100%"> <mx:groupedColumns> <mx:AdvancedDataGridColumn dataField="Territory_Rep" headerText="Territory Rep"/> <mx:AdvancedDataGridColumnGroup headerText="All Groups"> <mx:AdvancedDataGridColumnGroup headerText="Area"> <mx:AdvancedDataGridColumn dataField="Region"/> <mx:AdvancedDataGridColumn dataField="Territory"/> </mx:AdvancedDataGridColumnGroup> <mx:AdvancedDataGridColumnGroup headerText="Revenues"> <mx:AdvancedDataGridColumn dataField="Actual"/> <mx:AdvancedDataGridColumn dataField="Estimate"/> </mx:AdvancedDataGridColumnGroup> </mx:AdvancedDataGridColumnGroup> </mx:groupedColumns> </mx:AdvancedDataGrid> </mx:Application>
运行示例
在分组中拖放列
By default, you can drag the columns in a group within the group to reposition them. You can also drag the entire group to reposition it in the AdvancedDataGrid control. 默认情况下,您可以拖动分组中的各列以在分组中重新放置它们。您也可以拖动整个分组以在AdvancedDataGrid控件中重新放置它们。
要禁用某一分组中所有列的拖动,设置AdvancedDataGridColumnGroup.childrenDragEnabled属性为false。要禁用单个列的拖动,设置AdvancedDataGridColumn.dragEnabled属性为false。
相关文章推荐
- Flex开发小结(1)如何使用AdvancedDataGrid
- Flex 3 advancedDataGrid的使用(一)
- Flex AdvancedDataGrid的使用,谁能告诉我呀?
- flex AdvancedDataGrid的使用
- Flex 3 发现之旅:AdvancedDataGrid的使用(第四部分)
- Flex 3 发现之旅:AdvancedDataGrid的使用(第三部分)续2
- flex AdvancedDataGrid使用心得
- Flex 3 发现之旅:AdvancedDataGrid的使用(第二部分)
- Flex开发小结(1)如何使用AdvancedDataGrid
- Flex 3 advancedDataGrid的使用(一)
- Flex 3 发现之旅:AdvancedDataGrid的使用(第一部分)
- Flex开发小结(1)如何使用AdvancedDataGrid
- Flex 3 advancedDataGrid的使用(一)
- Flex 3 AdvancedDataGrid的使用(二)
- Flex 3 AdvancedDataGrid的使用(二)
- Flex 3 advancedDataGrid的使用(一)
- Flex 3 AdvancedDataGrid的使用(三)
- Flex 3 AdvancedDataGrid的使用(三)
- Flex 3 AdvancedDataGrid的使用(四)
- Flex 3 AdvancedDataGrid的使用(二)