Using the Group presentation style
One of the DataWindow object presentation styles, Group, is a shortcut
to creating a grouped DataWindow object. It generates a tabular DataWindow object that
has one group level and some other grouping properties defined. You
can then further customize the DataWindow object.
To create a basic grouped DataWindow object using the
Group presentation style:
-
Select File>New from the menu
bar.The New dialog box displays.
-
Choose the DataWindow tab page and the Group presentation
style, and click OK. -
Choose a data source and define the data.
You are prompted to define the grouping column(s).
-
Drag the column(s) you want to group on from the
Source Data box to the Columns box.
Multiple columns and multiple group levels
You can specify more than one column, but all columns apply
to group level one. You can define one group level at this point.
Later you can define additional group levels.In the following example, grouping will be by department,
as specified by the dept_id column:
If you want to use an expression, you can define it when you
have completed the wizard. See “Using an expression for
a group”. -
Click Next.
PowerBuilder suggests a header based on your data source. For
example, if your data comes from the Employee table, PowerBuilder uses
the name Employee in the suggested header. -
Specify the Page Header text.
-
If you want a page break each time a grouping
value changes, select the New Page On Group Break box. -
If you want page numbering to restart at 1 each
time a grouping value changes, select the Reset Page Number On Group
Break box and the New Page On Group Break box. -
Click Next.
-
Select Color and Border settings and click Next.
-
Review your specification and click Finish.
The DataWindow object displays with the basic grouping properties
set.
This is an example of a Group style DataWindow object:

What PowerBuilder does
As a result of your specifications, PowerBuilder generates a
tabular DataWindow object and:
-
Creates group header and trailer
bands -
Places the column you chose as the grouping column
in the group header band -
Sorts the rows by the grouping column
-
Places the page header and the date (as a computed
field) in the header band -
Places the page number and page count (as computed
fields) in the footer band -
Creates sum-computed fields for all numeric columns
(the fields are placed in the group trailer and summary bands)
Here is the preceding DataWindow object in the Preview view:

Using an expression for
a group
If you want to use an expression for one or more column names
in a group, you can enter an expression as the Group Definition
on the General page in the Properties view after you have finished
using the Group wizard.
To use an expression for a group:
-
Open the Properties view and select the
group header band in the Design view. -
Click the ellipsis button next to the Group Definition
box on the General page to open the Specify Group Columns dialog
box. -
In the Columns box, double-click the column that
you want to use in an expression.The Modify Expression dialog box opens. You can specify more
than one grouping item expression for a group. A break occurs whenever
the value concatenated from each column/expression changes.
What you can do
You can use any of the techniques available in a tabular DataWindow object to modify
and enhance the grouped DataWindow object, such as moving controls, specifying
display formats, and so on. In particular, see “Defining groups in an existing DataWindow object” to learn more
about the bands in a grouped DataWindow object and how to add features
especially suited for grouped DataWindow objects (for example, add a second
group level, define additional summary statistics, and so on).
DataWindow Object is not updatable by default
When you generate a DataWindow object using the Group presentation
style, PowerBuilder makes it not updatable by default. If you want
to be able to update the database through the grouped DataWindow object,
you must modify its update characteristics. For more information,
see Chapter 21, “Controlling Updates in DataWindow Objects.”