MicroStrategy ONE

The Grid Object Model

The Grid Object Model presents an object-oriented view of the report grid XML. The code samples for the cell rendering classes presented in the Customizing Cell Rendering Classes section make references to certain Web Objects for rendering the report grid. This topic helps you understand the different Web Objects that are used in those code samples.

Thorough understanding of the Grid Object Model is not required for performing customizations involving cell contents within a report grid. However, it serves as good background information to understand the various components responsible for displaying a report grid in MicroStrategy Web.

The following diagram shows the Web Objects responsible for displaying the contents of various areas of a report grid (including the Page-By section).

Any given area of the report grid has two object representations— one containing methods to access the data and properties of the given  area, and another that maintains full responsibility for rendering the area’s content. These objects can be obtained from a WebReportGrid object (which can be obtained from a WebReportData object— the object representing the results of an executed report or WebReportInstance).

The main components of the Grid Object Model are described below.

  • A WebTitle is used to represent a name of an attribute, custom group, or any object that can be placed on an axis. It is also used to represent the cell containing the text Metrics. All of the WebTitle objects for a specified axis are stored in the WebGridTitles collection.  

  • A WebHeader is used to represent an individual metric name or an attribute element name on an axis. All of the WebHeader objects of a specified WebTitle are stored in the WebHeaders collection. There are many WebHeaders collections since there are many WebTitle objects on a given axis. All WebHeaders collections for a specified axis are stored in the WebGridHeaders collection.  

  • A WebRowValue is used to represent a metric value. All of the WebRowValue objects for a specified axis are stored in the WebRow collection. In turn, all of the WebRow objects are stored in the WebRows collection.

See also