Eclipse BIRT Report Object Model (ROM)

ListingGroup Element

# Element Overview

Abstract element that represents the behavior common to list and table groups.

### Details

Display Name: | Listing Group
Since: | none
XML Element: | `None`
Extends: | None
Extendable: | No
Abstract: | Yes
Name Space: | None
Name Requirement: | Not Supported
Allows User Properties: | No
Has Style: | No

### Property Summary

bookmark
eventHandlerClass
  The full qulified name of the event handler class.
filter
  A filter to apply to the each group as a whole.
groupName
  Optional name of the group.
hideDetail
interval
  When creating intervals, this property allows grouping on a range of contiguous values.
intervalBase
  In conjunction with Interval and IntervalRange, determines how data is divided into groups.
intervalRange
  Number of contiguous groups to merge to create a single group.
keyExpr
  The expression for the group key.
pageBreakAfter
pageBreakBefore
pageBreakInside
repeatHeader
sort
  Custom sort criteria to apply to the groups as a whole.
sortDirection
  The sort direction for the groups at this level.
sortType
  Sort type property
toc
  The table of contents expression for this group.
viewAction

### Description

A list or table is most often divided into a number of groups. Groups provide a way of showing common headings for a group of related rows. Groups often have subtotals. For example, a sales report may show totals per sales rep and region.

A group is defined by a group key. The key is a column from the query. If the group key is a time field then user often want to group on an interval such as month or quarter.

# Property Detail

## bookmark Property

### Details

Type: | expression
Context: |
Expression Type: | string
Since: | 2.2
Required: | No
Display Name: | Bookmark
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | Yes
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

## eventHandlerClass Property

The full qulified name of the event handler class.

### Details

Type: | string
Since: | 2.0
Required: | No
Display Name: | Event handler class
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | Yes
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

### Description

Full quilified name of the event handler class, used to specify an external Java class which define the scripting behavior that will be executed at runtime.

## filter Property

A filter to apply to the each group as a whole.

### Details

Type: | List of FilterCondition Structures
Since: | reserved
Required: | No
Display Name: | Filter
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Hidden
Property Sheet Group: | Top

### Description

A filter to apply to the each group as a whole. The filter conditions should apply to values that are constant for each group. This means that the filter expressions should be functionally dependent on the group key, or should be defined on aggregates computed over the group. For example, display only customers with non-zero sales totals, or display only the top 10 customers as determined by sales.

## groupName Property

Optional name of the group.

### Details

Type: | string
Since: | 1.0
Required: | No
Display Name: | Name
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

### Description

Optional name of the group. The group name must be unique within the list or table. The name is used to identify the group in aggregates as explained in the scripting specification.

## hideDetail Property

### Details

Type: | boolean
Since: | 2.1
Required: | No
Display Name: | Hide detail
JavaScript Type: |
Default Value: | false
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

## interval Property

When creating intervals, this property allows grouping on a range of contiguous values.

### Details

Type: | choice (interval)
Since: | 1.0
Required: | No
Display Name: | Interval
JavaScript Type: |
Default Value: | none
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Interval

### Choices

Name | Display Name | Value | Description
none | No interval | none | Group on individual values.
prefix | Prefix | prefix | Group on a string prefix
year | Year | year | Group on a range of years.
quarter | Quarter | quarter | Group on a range of quarters.
month | Month | month | Group on a range of months.
week | Week | week | Group on a range of weeks.
day | Day | day | Group on a range of days.
hour | Hour | hour | Group on a range of hours.
minute | Minute | minute | Group on a range of minutes.
second | Second | second | Group on a range of seconds.
interval | Interval | interval | Group on a numeric interval.

### Description

This property allows the group to include a range of contiguous values. For example, a monthly sales report may want to summarize a list of individual transactions, each of which has a transaction date. Using the Month interval, BIRT will cause a break to occur each time the transaction dates move into a different calendar month.

Use this property with the `intervalRange` property to select a set of contiguous values. For example, a bi-monthly report would use the Month `interval` with an `intervalRange` of 2.

### See Also

`intervalRange` Property

## intervalBase Property

In conjunction with Interval and IntervalRange, determines how data is divided into groups.

### Details

Type: | string
Since: | 1.0
Required: | No
Display Name: | Interval base
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Interval

### Description

In conjunction with Interval and IntervalRange, determines how data is divided into groups.

## intervalRange Property

Number of contiguous groups to merge to create a single group.

### Details

Type: | float
Since: | 1.0
Required: | No
Display Name: | Interval range
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Interval

### Description

When creating intervals, this attribute allows grouping on a range of contiguous values. For example, to show data over the span of three hours, set the grouping interval to hours and the range to 3. The user enters the interval range here.

The following shows the meaning of the range for each interval type.

Interval | Meaning of Range
None | Ignored
Prefix | The number of characters in the prefix.
Date/Time | The number of the units.
Interval | The numeric interval

### See Also

`interval` Property

## keyExpr Property

The expression for the group key.

### Details

Type: | expression
Context: |
Expression Type: | any
Since: | 1.0
Required: | Yes
Display Name: | Key expression
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | Yes
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

### Description

Gives the group key as an expression. The group key says when to cause a group break listing. For example, if the group is by state, then the group key might be "`row.state`". A level break occurs each time the key changes. At each level break, the current group is ended, and a new group started. The expression most often is just a column, but can be a computed value.

## pageBreakAfter Property

### Details

Type: | choice (pageBreakAfter)
Since: | 2.1
Required: | No
Display Name: | Page break after
JavaScript Type: |
Default Value: | auto
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

### Choices

Name | Display Name | Value | Description
auto | Auto | auto |
always | Always | always |
avoid | Avoid | avoid |
always-excluding-last | Always Excluding Last | always-excluding-last |

## pageBreakBefore Property

### Details

Type: | choice (pageBreakBefore)
Since: | 2.1
Required: | No
Display Name: | Page break before
JavaScript Type: |
Default Value: | auto
Inherited: | No
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

### Choices

Name | Display Name | Value | Description
auto | Auto | auto |
always | Always | always |
avoid | Avoid | avoid |
always-excluding-first | Always Excluding First | always-excluding-first |

## pageBreakInside Property

### Details

Type: | choice (pageBreakInside)
Since: | 2.2
Required: | No
Display Name: | Page break inside
JavaScript Type: |
Default Value: | auto
Inherited: | No
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

### Choices

Name | Display Name | Value | Description
avoid | Avoid | avoid |
auto | Auto | auto |

## repeatHeader Property

### Details

Type: | boolean
Since: | 2.0
Required: | No
Display Name: | Repeat header
JavaScript Type: |
Default Value: | true
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

## sort Property

Custom sort criteria to apply to the groups as a whole.

### Details

Type: | List of SortKey Structures
Since: | reserved
Required: | No
Display Name: | Sort
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Hidden
Property Sheet Group: | Top

### Description

Custom sort criteria to apply to the groups as a whole. For example, the report may group customers by customer ID, but sort the customers by total sales or by customer name.

### See Also

`sortDirection` property

## sortDirection Property

The sort direction for the groups at this level.

### Details

Type: | choice (sortDirection)
Since: | 1.0
Required: | No
Display Name: | Sort Direction
JavaScript Type: |
Default Value: | asc
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

### Choices

Name | Display Name | Value | Description
asc | Ascending | asc | Sort values from lowest to highest.
desc | Descending | desc | Sort values from highest to lowest.

### Description

The sort direction applies only if the List does not have a custom sort defined using the `sort` property. The default group sort key is the group key.

### See Also

`sort` Property

## sortType Property

Sort type property

### Details

Type: | choice (sortType)
Since: | 2.0
Required: | No
Display Name: | Sort type
JavaScript Type: |
Default Value: | none
Inherited: | Yes
Runtime Settable: | No
Property Sheet Visibility: | Visible
Property Sheet Group: | Top

### Choices

Name | Display Name | Value | Description
none | No sort type | none |
sort-on-group-key | Sort on group key | sort-on-group-key |
complex-sort | Complex sort | complex-sort |

### Description

Sort type

## toc Property

The table of contents expression for this group.

### Details

Type: | TOCStructure Structure
Since: | 2.2
Required: | No
Display Name: | TOC
JavaScript Type: |
Default Value: | None
Inherited: | Yes
Runtime Settable: | Yes
Property Sheet Visibility: | Hidden
Property Sheet Group: | Top

### Description

The table of contents (TOC) expression for the group. The value of the expression appears for the table of contents for the report.

## viewAction Property

### Details

Type: | choice (viewAction)
Since: | 2.1
Required: | No
Display Name: | View action
JavaScript Type: |
Default Value: | NoChange
Inherited: | No
Runtime Settable: | No
Property Sheet Visibility: | Hidden
Property Sheet Group: | Top

### Choices

Name | Display Name | Value | Description
NoChange | No Change | NoChange |
Changed | Changed | Changed |
Added | Added | Added |
Deleted | Deleted | Deleted |