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

hGridHandle passed back from EssGNewGrid.
usCellsA count of the number of cell ranges in pZoomCells (the size of array).
pZoomCellsDescribes the cells to be zoomed out upon. This is a one-dimensional array of cell ranges.
ulOptionsReserved for future use. Should be set to zero.

Return Value

If successful, returns ESSG_STS_NOERR.

Notes

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