Composite DataWindow

Nested reports in a Composite DataWindow

Supported

Nested reports that are of the following presentation styles can be added into the Composite DataWindow, and the Web Composite DataWindow is implemented in XML:

CrossTab

FreeForm

Graph

Grid

Group

Label

N-Up

Tabular

RichText

TreeView

   

Placing reports in the Group band is supported.

Placing Group reports in any DataWindow band is supported.

The following is an Appeon enhanced feature (which is not available in PowerBuilder):

In PowerServer, you can use the GetChild function to get the reference of the nested report in the Composite DataWindow or the nested DataWindow, and then use the DataWindow Create function to dynamically create the nested report via the DataWindow syntax; but using PBSELECT statement to create DataWindows is unsupported, you need to use the SQL SELECT statement. In PowerBuilder, you cannot use GetChild to get a reference to a report in a Composite DataWindow when the report itself is a Composite or nested DataWindow.

Therefore, if you originally use the following code to dynamically create the nested report(PowerServer does not support the following code, as the DataObject cannot be deployed via PowerServer Toolkit), you can try to work it around using the above feature.

Original code:

ls_dwsyntax = dw_1.Describe("DataWindow.Syntax")
rtncode = LibraryImport("c:\pb\dwTemp.pbl", "d_emp", ImportDataWindow!, ls_dwsyntax, ErrorBuffer )
dw_composite.Modify("dw_report.DataObject='d_emp' ")

Workaround code:

DataWindowChild dwc_report
l_rtn = dw_composite.GetChild("dw_report ", dwc_report)
ls_dwsyntax = dw_1.Describe("DataWindow.Syntax")
dwc_report.dynamic create (ls_dwsyntax, error_create)

Retrieval arguments

Supported

Retrieval arguments of the nested report is supported in the composite DataWindow.

Row-scrolling functions

Unsupported

Calling the following DataWindow functions in nested reports is unsupported:

ScrollToRow

ScrollPriorPage

ScrollNextPage

ScrollPriorRow

ScrollNxetRow

     

Performance differences between PowerBuilder and Web

Differences

On the Web, if the Y property of a nested report is negative, the header band of the nested report overlaps the detail band.

On the Web, if the Trail_Footer property of a nested report control is set to True, the footer band of the nested report will be displayed after the summary band. If the Trail_Footer property is set to False, the footer band will always be displayed at the bottom of current DataWindow band.

On the Web, if the content in a Composite DataWindow cannot be displayed in one page horizontally, it will be displayed on a separate page.

On the Web, if you want to do a data retrieval for the Composite DataWindow, a transaction object always needs to be set.

If the Visible property of a nested report is dynamically changed from TRUE to FALSE, the nested report is counted as visible in PowerBuilder, but invisible on the Web, when the Composite DataWindow breaks pages or counts the height of the detail band.

The NewPage property will have effect in all DataWindow bands on the Web. However, it can only have effect in the detail band in PowerBuilder.

In the Detail band, the Height.Autosize property cannot be changed by using the Modify function.

In PowerBuilder, if the Summary band cannot be displayed within one page, the last row of the detail band and the whole summary band will be displayed in the next new page. However, on the Web, the summary band that cannot be fully displayed within the rest space of the page will be ignored.

If you set different print scales for a Composite DataWindow and the nested reports in the DataWindow, the scale for the nested reports will have no effect; instead, the scale for the Composite DataWindow will be effective for the DataWindow and the reports.

Scrolling a composite DataWindow using the PageUp/PageDown, UpArrow/DownArrow, or LeftArrow/RightArrow keys is unsupported.

If the width of the content of a nested CrossTab DataWindow cannot be displayed within the report control, the exceeding content will be ignored on the Web.