패키지 | mx.collections |
클래스 | public class GroupingField |
상속 | GroupingField Object |
언어 버전: | ActionScript 3.0 |
제품 버전: | Flex 3 |
런타임 버전: | Flash Player 9, AIR 1.1 |
To populate the AdvancedDataGrid control with grouped data,
you create an instance of the GroupingCollection class from your flat data,
and then pass that GroupingCollection instance to the data provider
of the AdvancedDataGrid control.
To specify the grouping fields of your flat data,
you pass a Grouping instance to
the GroupingCollection.grouping
property.
The Grouping instance contains an Array of GroupingField instances,
one per grouping field.
The following example uses the Grouping class to define two grouping fields: Region and 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
Set to true if the sort for this field should be case-insensitive. | GroupingField | ||
compareFunction : Function
The function that compares two items during a sort of items for the
associated collection. | GroupingField | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
descending : Boolean
Set to true if the sort for this field should be
in descending order. | GroupingField | ||
groupingFunction : Function
A function that determines the label for this group. | GroupingField | ||
groupingObjectFunction : Function
A callback function to run on each group node to determine the
grouping object. | GroupingField | ||
name : String
The name of the field to be sorted. | GroupingField | ||
numeric : Boolean
Specifies that if the field being sorted contains numeric
(Number/int/uint) values, or String representations of numeric values,
the comparitor uses a numeric comparison. | GroupingField | ||
summaries : Array
Array of SummaryRow instances that define the group-level summaries. | GroupingField |
메서드 | 정의 주체 | ||
---|---|---|---|
GroupingField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Boolean = false)
Constructor. | GroupingField | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
caseInsensitive | 속성 |
compareFunction | 속성 |
compareFunction:Function
언어 버전: | ActionScript 3.0 |
제품 버전: | Flex 3 |
런타임 버전: | Flash Player 9, AIR 1.1 |
The function that compares two items during a sort of items for the
associated collection. If you specify a compareFunction
property in a Grouping object, Flex ignores any compareFunction
properties of the GroupingField objects.
The compare function must have the following signature:
function myCompare(a:Object, b:Object):int
This function must return the following values:
- -1, if
a
should appear beforeb
in the sorted sequence. - 0, if
a
equalsb
. - 1, if
a
should appear afterb
in the sorted sequence.
The default value is an internal compare function that can perform a string, numeric, or date comparison in ascending or descending order, with case-sensitive or case-insensitive string comparisons. Specify your own function only if you need a custom comparison algorithm. This is normally only the case if a calculated field is used in a display.
구현
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 |
A function that determines the label for this group.
By default,
the group displays the text for the field in the data that matches the
filed specified by the name
property.
However, sometimes you want to group the items based on
more than one field in the data, or group based on something that is
not a simple String field.
In such a case, you specify a callback function by using
the groupingFunction
property.
A callback function might convert a number for the month into the String for the month, or group multiple items into a single group based on some criteria other than the actual value of the field.
For the GroupField, the method signature has the following form:
groupingFunction(item:Object, field:GroupField):String
Where item
contains the data item object, and
field
contains the GroupField object.
groupingFunction
which returns the
first character as the group name can be written as -
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 |
A callback function to run on each group node to determine the grouping object. By default, a new Object will be created for group nodes.
You can supply a groupingObjectFunction
that provides the
appropriate Object for group nodes.
The method signature is:
myGroupObjectFunction(label:String):Object
Where label
contains the value that will be
shown for that group node.
The function returns an Object that will be used for group nodes.
groupingObjectFunction
which returns an Object
containing a "name" property with value as "Bob" can be written as -
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 |
Specifies that if the field being sorted contains numeric
(Number/int/uint) values, or String representations of numeric values,
the comparitor uses a numeric comparison.
If this property is false
, fields with String representations
of numbers are sorted using String comparison, so 100 precedes 99,
because "1" is a lower string value than "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 |
Array of SummaryRow instances that define the group-level summaries. Specify one or more SummaryRow instances to define the data summaries, as the following example shows:
<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 |
Constructor.
매개 변수name:String (default = null ) — The name of the property that this field uses for
comparison.
If the object is a simple type, pass null .
| |
caseInsensitive:Boolean (default = false ) — When sorting strings, tells the comparitor
whether to ignore the case of the values.
| |
descending:Boolean (default = false ) — Tells the comparator whether to arrange items in
descending order.
| |
numeric:Boolean (default = false ) — Tells the comparitor whether to compare sort items as
numbers, instead of alphabetically.
|
Tue Jun 12 2018, 03:17 PM Z