Begins a zoom-in.
Syntax
ESSG_FUNC_M EssGBeginZoomIn (hGrid, usCells, pZoomCells, ulOptions);
| Parameter | Data Type | Description |
|---|---|---|
hGrid | ESSG_HGRID_T | Handle passed back from EssGNewGrid. |
usCells | ESSG_USHORT_T | A count of the number of cell ranges in pZoomCells (the size of array). |
pZoomCells | ESSG_RANGE_T | Describes the cells to be zoomed in upon. This is a one-dimensional array of cell ranges. |
ulOptions | ESSG_ULONG_T | A bitmask which describes the type of zoom-in (across or down) and the level of the zoom. The following two values are mutually exclusive:
The following level values for ulOptions are themselves mutually exclusive:
Use bitwise OR (|) to specify the ulOptions; for example, ESSG_ZOOM_DOWN | ESSG_NEXTLEVEL |
Notes
The cells to be zoomed in upon are described by a one-dimensional array of cell ranges.
Return Value
If successful, returns ESSG_STS_NOERR.
Access
None.
Example
ESSG_VOID_T ESSG_BeginZoomIn (ESSG_HGRID_T hGrid)
{
ESSG_FUNC_M sts = ESS_STS_NOERR;
ESSG_PPDATA_T ppDataIn;
ESSG_PPDATA_T ppDataOut;
ESSG_RANGE_T rDataRangeIn, rDataRangeOut;
ESSG_ULONG_T ulOptions;
ESSG_USHORT_T usCells;
ESSG_RANGE_T pZoomCells;
ESSG_USHORT_T usState;
/* connect the grid to a database on the server */
sts = EssGConnect(hGrid, "Rainbow", "Admin",
"Password", "Demo", "Basic", ESSG_CONNECT_DEFAULT);
if(sts == 0)
{
ppDataIn = BuildTable(&rDataRangeIn);
ulOptions = ESSG_ZOOM_DOWN | ESSG_ALLLEVELS;
pZoomCells.ulRowStart = 0;
pZoomCells.ulColumnStart = 2;
pZoomCells.ulNumRows = 1;
pZoomCells.ulNumColumns = 1;
usCells = 1;
/* start the zoom in operation */
sts = EssGBeginZoomIn(hGrid, usCells, &pZoomCells, ulOptions);
}
if(sts == 0)
{
/* send the entire grid to define the query */
sts = EssGSendRows(hGrid, &rDataRangeIn,
ppDataIn);
}
if(sts == 0)
{
/* perform the zoom-in */
sts = EssGPerformOperation(hGrid, 0);
/* Free the built data */
FreeTwoDim(ppDataIn, rDataRangeIn.ulNumRows);
}
if (sts == 0)
{
/* determine the results of the zoom-in */
sts = EssGGetResults(hGrid, 0, &rDataRangeOut,
&usState);
}
if(sts ==0)
{
/* get all the data */
sts = EssGGetRows(hGrid, 0, &rDataRangeOut,
&rDataRangeOut, &ppDataOut);
}
if(sts == 0)
{
DisplayOutput(ppDataOut, rDataRangeOut);
/* Free the returned data */
EssGFreeRows(hGrid, &rDataRangeOut, ppDataOut);
}
if( !sts)
{
EssGEndOperation(hGrid, 0);
EssGDisconnect(hGrid, 0);
}
}See Also