Condividi tramite


The Report Builder Event Class

Encapsulates attributes of the report builder event in the reportbuilder.app framework. Also exposes some useful framework methods.

If you decide to create your own handler classes, your code will need to interact with the oEvent parameter object that the builder framework passes to the filter and handler class methods.

oEvent.PropertyName [= eValue]
oEvent.Method( ... )

Properties

PropertyName Type eValue

BuilderPath

C

Contains the path of reportbuilder.app, with a trailing backslash.

CommandClauses

O

Contains a reference to the third parameter passed to the report builder. See Understanding Report Builder Events for more information on report builder parameters.

DefaultRecno

I

Specifies the initial position of the record pointer in the FRX cursor.

DefaultSessionId

I

Contains the Data Session Id of the Report Designer, the fourth parameter passed in from the Report Designer.

EventType

I

Contains the second parameter passed in from the Report Designer.

FrxCursor

O

An instance of the FRX Cursor Foundation Class containing some useful functions for interacting with the FRX cursor.

HandleMode

I

Indicates how the Builder handles events.

1

(Default) Regular event processing.

2

Debug mode. Brings up the FRX browser/event debugger. Filters do not run.

3

The Event Inspector displays the incoming event details in a messagebox window. Filters do not run.

4

The Builder passes all events back to the Designer for normal behavior.

FrxSessionId

I

Data Session of the Report Builder, in which the FRX cursor is open.

MultiSelect

L

True (.T.) if multiple objects are selected in the Report Designer.

ObjCode

I

The value of the frx.OBJCODE field of the initially selected record in the FRX cursor.

ObjType

I

The value of the frx.OBJTYPE field of the initially selected record in the FRX cursor.

Protected

L

Indicates if the Report Designer was launched with the PROTECTED keyword. (Same value as CommandClauses.Protected.)

ReturnFlags

I

The value of this property will be returned to the Report Designer in the first parameter passed in from the Report Designer. Initially set to 0 (no interception, no change). Use .setHandledByBuilder(.T.) and .setReloadChanges(.T.) to configure the return flag appropriately.

SelectedObjectCount

I

Specifies the number of selected report objects in the layout, determined by counting CURPOS=.T. in the FRX cursor (not counting the header record).

SessionData

O

A reference to a name-value pair manager object used to store data between Report Builder invocations

UniqueId

C

Contains the value of the UNIQUEID field of the initially selected record in the FRX cursor.

Methods

Method Description

GetEventTypeText( [ iEvent ] )

Returns a character string containing the name of a given event type.

GetTargetTypeText( [ iObjType, iObjCode ] )

Returns a character string containing the name of a given report object.

GetExpression( cDefExpr, cDataType, cCalledFrom )

Displays a GETEXPR dialog box and returns a string containing the resultant expression. Ensures that the getExpression dialog box is displayed in the data session of the Report Designer.

Handle( [ iObjType, iObjCode ] )

Locates a handler class, instantiates it, and calls the Execute() method.

GetExtensionEditor()

Locates an Extension Editor class in the handler registry table, instantiates it, and returns the object reference. For more information, see Report Builder Event Handler Registry Table.

ToString()

Returns a character string "dump" of all the object's property values, suitable for displaying in a MESSAGEBOX call.

SetHandledByBuilder( .T. | .F. )

Sets the "Event handled By" bit on the ReturnFlags property to suppress (or enable) default Report Designer behavior.

SetReloadChanges( .T. | .F. )

Sets the "Reload FRX changes" bit on the ReturnFlags property so that changes made to the FRX cursor are reflected (or not reflected) in the report layout.

Note

If your class makes changes to the FRX cursor that need to be reloaded into the layout, it should call the .SetReloadChanges(.T.) method.

See Also

Reference

Report Builder Event Handler Registry Table

Concepts

Understanding Report Builder Events

Other Resources

Extending Reports at Design Time