Implementing the Interactive Viewer

The Interactive viewer works almost exactly like the Page viewer. In fact, the Interactive viewer component derives from the Page viewer component, so it inherits all the base functionality. What it adds is a new toolbar button that enables an advanced searching User Interface inside the viewer. This is useful for larger reports and for end users requiring advanced searches where simple text string searching is not suitable. The Interactive viewer allows the report to be filtered using a specified record selection criteria.

Listing 32.8 shows a report being viewed by the Interactive viewer. Note that the setOwnPage method is called to indicate that the viewer owns the entire page, which is generally a good thing to do when using this viewer.

Listing 32.8. Using the Report Part Viewer in Code

//To create a Java interactive viewer you instantiate a //CrystalReportInteractiveViewer object: CrystalReportInteractiveViewer viewer = new CrystalReportInteractiveViewer(); //Set the viewers report source by calling its setReportSource method viewer.setReportSource(reportSource); //Enable the Advanced Search Wizard. viewer.setEnableBooleanSearch(true); //Set the setOwnPage property to true. The setOwnPage property should always //be set to true for the interactive viewer. viewer.setOwnPage(true); //After you have created and initialized a Java interactive viewer, //you call its processHttpRequest method to launch it in a Web browser. viewer.processHttpRequest(request, response, getServletContext(), null);

Figure 32.3 shows a report being displayed in the Interactive viewer and the advanced searching UI being used.

Figure 32.3. The Interactive viewer in action.

All viewers including the Interactive viewer share a number of toolbar elements. These properties can be programmatically toggled and are displayed in Table 32.2. 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.2. Toolbar Elements (Interactive 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 S printing (0=pdf, 1=actx).

HasZoomFactorList

Specifies zoom factor for displayed report.

HasBooleanSearchButton

Includes or excludes the toggle Boolean search button when rendering the report.

Unique to Interactive viewer.

HasHeaderArea

Includes or excludes the header area when rendering the report.

Unique to Interactive viewer.

HasPageBottomToolbar

Includes or excludes the page bottom toolbar.

Unique to Interactive viewer.

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

Категории