包 | mx.collections |
类 | public class GroupingField |
继承 | GroupingField Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
要使用分组数据填充 AdvancedDataGrid 控件,可以在平面数据中创建 GroupingCollection 类的一个实例,然后将该 GroupingCollection 实例传递给 AdvancedDataGrid 控件的数据提供程序。要指定平面数据的分组字段,可将一个 Grouping 实例传递给 GroupingCollection.grouping
属性。Grouping 实例包含 GroupingField 实例的 Array,每个分组字段一个。
以下示例使用 Grouping 类定义两个分组字段:Region 和 Territory。
<mx:AdvancedDataGrid id="myADG" <mx:dataProvider> <mx:GroupingCollection id="gc" source="{dpFlat}"> <mx:grouping> <mx:Grouping> <mx:GroupingField name="Region"/> <mx:GroupingField name="Territory"/> </mx:Grouping> </mx:grouping> </mx:GroupingCollection> </mx:dataProvider> <mx:columns> <mx:AdvancedDataGridColumn dataField="Region"/> <mx:AdvancedDataGridColumn dataField="Territory"/> <mx:AdvancedDataGridColumn dataField="Territory_Rep"/> <mx:AdvancedDataGridColumn dataField="Actual"/> <mx:AdvancedDataGridColumn dataField="Estimate"/> </mx:columns> </mx:AdvancedDataGrid>MXML 语法隐藏 MXML 语法
<mx.GroupingField>
inherits all the tag attributes of its superclass,
and defines the following tag attributes:
<mx:GroupingField Properties caseInsensitive="false|true" compareFunction="No default" descending="false|true" groupingFunction="No default" groupingObjectFunction="No default" name="null" numeric="false|true" summaries="No default" />
默认 MXML 属性summaries
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
caseInsensitive : Boolean
如果此字段的排序不区分大小写,则设置为 true。 | GroupingField | ||
compareFunction : Function
用于在对关联集合的项目进行排序时比较两个项目的函数。 | GroupingField | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
descending : Boolean
如果此字段的排序应为降序排序,则设置为 true。 | GroupingField | ||
groupingFunction : Function
确定此组的标签的函数。 | GroupingField | ||
groupingObjectFunction : Function
在每个组节点上运行以确定分组对象的回调函数。 | GroupingField | ||
name : String
要排序的字段的名称。 | GroupingField | ||
numeric : Boolean
指定当要进行排序的字段包含数值 (Number/int/uint) 或数值的字符串表示形式时,比较运算符是否使用数值比较。 | GroupingField | ||
summaries : Array
用于定义组级别摘要的 SummaryRow 实例的数组。 | GroupingField |
方法 | 由以下参数定义 | ||
---|---|---|---|
GroupingField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Boolean = false)
构造函数。 | GroupingField | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
caseInsensitive | 属性 |
compareFunction | 属性 |
compareFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
用于在对关联集合的项目进行排序时比较两个项目的函数。如果指定了 Grouping 对象中的 compareFunction
属性,则 Flex 会忽略 GroupingField 对象的所有 compareFunction
属性。
该比较函数必须具有以下签名:
function myCompare(a:Object, b:Object):int
此函数必须返回以下值:
- -1,如果在已排序序列中
a
应显示在b
之前。 - 0,如果
a
等于b
。 - 1,如果在已排序序列中
a
应显示在b
之后。
默认值为具有以下特征的内部比较函数:可以通过区分大小写或不区分大小写的字符串比较按升序或降序执行字符串、数字或日期比较。仅在需要自定义比较算法时指定您自己的函数。这种情况通常仅当在显示中使用计算的字段时出现。
实现
public function get compareFunction():Function
public function set compareFunction(value:Function):void
descending | 属性 |
groupingFunction | 属性 |
public var groupingFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
确定此组的标签的函数。默认情况下,组显示数据中字段的文本,该文本与 name
属性指定的字段匹配。但是,有时您希望基于数据中的多个字段对项目进行分组,或基于不是简单 String 字段的内容进行分组。在这种情况下,可使用 groupingFunction
属性指定回调函数。
回调函数可能会将数字格式的月转换为字符串格式的月,或基于某些条件而不是字段的实际值将多个项目分为一个组。
对于 GroupField,方法签名具有以下格式:
groupingFunction(item:Object, field:GroupField):String
其中 item
包含数据项目对象,field
包含 GroupField 对象。
groupingFunction
可以写作 -
private function groupFunc(item:Object, field:GroupingField):String { return item[field.name].toString().substr(0, 1); }
groupingObjectFunction | 属性 |
public var groupingObjectFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
在每个组节点上运行以确定分组对象的回调函数。默认情况下,将为组节点创建新 Object。
您可以提供 groupingObjectFunction
,它可以为组节点提供合适的对象。
方法签名为:
myGroupObjectFunction(label:String):Object
其中 label
包含将为该组节点显示的值。该函数返回可用于组节点的对象。
groupingObjectFunction
返回包含“name”属性且该属性值为“Bob”的 Object 可写作 -
private function groupObjFunction(label:String):Object { var obj:Object = {}; obj.name = "Bob"; return obj; }
name | 属性 |
numeric | 属性 |
numeric:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
指定当要进行排序的字段包含数值 (Number/int/uint) 或数值的字符串表示形式时,比较运算符是否使用数值比较。如果此属性为 false
,将使用字符串比较对具有数字字符串表示形式的字段排序,因此 100 应在 99 之前,因为字符串值“1”比字符串值“9”小。
默认值为 false。
实现
public function get numeric():Boolean
public function set numeric(value:Boolean):void
summaries | 属性 |
public var summaries:Array
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
用于定义组级别摘要的 SummaryRow 实例的数组。指定一个或多个 SummaryRow 实例以定义数据摘要,如以下示例所示:
<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:summaries> <mx:SummaryRow summaryPlacement="group"> <mx:fields> <mx:SummaryField dataField="Actual" label="Min Actual" operation="MIN"/> <mx:SummaryField dataField="Actual" label="Max Actual" operation="MAX"/> </mx:fields> </mx:SummaryRow> </mx:summaries> </mx:GroupingField> </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:columns> </mx:AdvancedDataGrid>
相关 API 元素
GroupingField | () | 构造函数 |
public function GroupingField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Boolean = false)
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
参数name:String (default = null ) — 此字段用来进行比较的属性的名称。如果该对象为简单类型,则传递 null 。
| |
caseInsensitive:Boolean (default = false ) — 在对字符串进行排序时,指示比较运算符是否忽略值的大小写。
| |
descending:Boolean (default = false ) — 指示比较运算符是否按降序排列项目。
| |
numeric:Boolean (default = false ) — 指示比较运算符是否按编号而不按字母顺序比较排序项目。
|
Tue Jun 12 2018, 11:04 AM Z