Implementing the Grid Viewer

The final viewer to be covered in this chapter is the Grid viewer. The Grid viewer (shown in Figure 32.4) differs more from the other viewers in that it does not render the reports presentation onscreen. Instead it looks at the dataset associated with the report (that is, the query result after the report engine has done its magic) and displays that data in a tabular fashion. This opens up some very interesting scenarios if you use your imagination.

Figure 32.4. The Grid viewer in action.

NOTE

You can override the style of the grid table by defining a stylesheet that maps to the styles used by the grid object. Consult the documentation for more information on this.

Listing 32.9 shows a report being displayed using the Grid viewer.

Listing 32.9. Displaying a Report in the Grid Viewer

//To create a Java grid viewer you need to instantiate a GridViewer object. //To create a GridViewer object: GridViewer viewer = new GridViewer(); //Set the viewers report source by calling its setReportSource method viewer.setReportSource(reportSource); //After you have created and initialized a Java grid viewer object, you call //its processHttpRequest method to display the results in the Web page viewer.processHttpRequest(request, response, getServletContext(), null);

All viewers including the Grid viewer share a number of toolbar elements. These properties can be programmatically toggled and are displayed in Table 32.3. All the viewer properties must be set before calling the ProcessHTTPRequest method that will display the selected report. For example, to ensure the Crystal logo is displayed when the involved report is viewed, the code line

Viewer.HasLogo(true);

Table 32.3. Toolbar Elements (Grid Viewer)

Property

Property Description

HasLogo

Includes or excludes the "Powered by Crystal" logo when rendering the report.

HasExportButton

Includes or excludes the Export button when rendering the report.

HasGotoPageButton

Includes or excludes the Go to Page button when rendering the report.

HasPageNavigationButtons

Includes or excludes the page navigation buttons when rendering the report.

HasPrintButton

Includes or excludes the Print button when rendering the report.

HasRefreshButton

Includes or excludes the Refresh button when rendering the report.

HasSearchButton

Includes or excludes the Search button when rendering the report.

HasToggleGroupTreeButton

Includes or excludes the Group Tree toggle button when rendering the report.

HasViewList

Specifies whether the viewer should display a list of previous views of the report.

SetPrintMode

Set printing to use PDF or Active X printing (0=pdf, 1=actx).

HasZoomFactorList

Specifies zoom factor for the displayed report.

DisplayNavigationBar

Specifies whether the viewer should display the navigation bar at the bottom of the grid.

Unique to Grid viewer.

DisplayRowNumberColumn

Specifies whether to display the row number column.

Unique to Grid viewer.

DisplayToolbarFindRowButton

Includes or excludes the Find Row button when rendering the toolbar.

Unique to Grid viewer.

DisplayToolbarGroupViewList

Specifies whether the viewer should display the view list.

Unique to Grid viewer.

DisplayToolarSwitchViewButton

Includes or excludes the Toggle Grid View button.

Unique to Grid viewer.

EnableGridToGrow

Specifies whether the viewer should enable the Grid to Grow.

Unique to Grid viewer.

GridViewMode

Specifies the viewer View mode.

Unique to Grid viewer.

MatchGridandToolbarWidth

Specifies whether the table should align with the toolbar.

Unique to Grid viewer.

TableStyle

Specifies the style class of the table. You can apply a css style class to the grid table that shows records. You do so by stating: Gridviewer.Table;

Unique to Grid viewer.

ToolbarStyle

Specifies the style class of the toolbar. You can apply a css style class to the grid toolbar. You do so by stating:

Gridviewer.Toolbar;

Unique to Grid viewer.

needs to be included in the code before the processHTTPRequest method is called.

Категории