EssGBeginZoomIn

この関数は、ズームインを開始します。

構文

            ESSG_FUNC_M 
            EssGBeginZoomIn
             (
            hGrid, usCells, pZoomCells, ulOptions
            );
         
パラメータデータ型説明

hGrid

ESSG_HGRID_T

EssGNewGridから戻されるハンドル。

usCells

ESSG_USHORT_T

pZoomCellsのセル範囲の数(配列のサイズ)。

pZoomCells

ESSG_RANGE_T

ズーム・インするセルを指定します。これはセル範囲の1次元配列です。

ulOptions

ESSG_ULONG_T

ズームインのタイプ(横または下)およびズームのレベルについて示すビットマスク。次の2つの値は互いに排他的です:

  • ESSG_ZOOM_DOWN- 選択したページ/タイトルが下方向にズームされます

  • ESSG_ZOOM_ACROSS- 選択したページ次元が左右方向にズームされます

ulOptionsの次のレベル値自身は相互に排他的です:

  • ESSG_NEXTLEVEL- 子

  • ESSG_ALLLEVELS- すべてのメンバー

  • ESSG_BOTTOMLEVEL- 最下位レベル

  • ESSG_SIBLEVEL- 兄弟レベル

  • ESSG_SAMELEVEL- 同一レベル

  • ESSG_SAMEGENERATION- 同世代

  • ESSG_CALCLEVEL- 計算

  • ESSG_OPTIONS- グリッド・オプションの設定を使用

ビット単位OR (|)を使用して、ulOptionsを指定します。たとえば、ESSG_ZOOM_DOWN | ESSG_NEXTLEVELとします

備考

ズーム・インするセルは、セル範囲の1次元配列として指定します。

戻り値

正常終了の場合は、ESSG_STS_NOERRが戻されます。

アクセス

なし。

         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);
  }
}
      

関連トピック