# EssGBeginZoomOut

Description

EssGBeginZoomOut() begins a zoom-out.

Syntax

    ESSG_FUNC_M EssGBeginZoomOut (hGrid, usCells, pZoomCells, ulOptions);

ESSG_HGRID_T | hGrid
ESSG_USHORT_T | usCells
ESSG_PRANGE_T | pZoomCells
ESSG_ULONG_T | ulOptions

Parameters

hGrid | Handle passed back from EssGNewGrid.
usCells | A count of the number of cell ranges in pZoomCells (the size of array).
pZoomCells | Describes the cells to be zoomed out upon. This is a one-dimensional array of cell ranges.
ulOptions | Reserved for future use. Should be set to zero.

Return Value

If successful, returns ESSG_STS_NOERR.

Notes

- None.

Access

None.

Example

    ESSG_VOID_T ESSG_BeginZoomOut (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);

         pZoomCells.ulRowStart = 1;
         pZoomCells.ulColumnStart = 1;
         pZoomCells.ulNumRows = 1;
         pZoomCells.ulNumColumns = 1;
         ulOptions = 0;
         usCells = 1;

         /* start the zoom out operation */
         sts = EssGBeginZoomOut(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-out */
         sts = EssGPerformOperation(hGrid, 0);

         /* Free the built data */
         FreeTwoDim(ppDataIn, rDataRangeIn.ulNumRows);
      }
      if (sts == 0)
      {
         /* determine the results of the zoom-out */
         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

Using the Grid API Functions
Grid API Structures