EssGBeginConditionalZoomIn

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

構文

            ESSG_FUNC_M 
            EssGBeginConditionalZoomIn
             (
            hGrid, pZoomCell,
pszConditions, ulOptions
            );
         
パラメータデータ型説明

hGrid

ESSG_HGRID_T

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

pZoomCell

ESSG_RANGE_T

ズーム・インするセルを示します。条件付きズーム・インでは単一のセルである必要があります。

pszConditions

ESSG_STR_T

ズームイン条件に関するEssbaseレポート指定コマンドを含む文字列(64K以下)。

レポート・ライターのメンバー名/別名/一意の名前処理フォーマット・コマンドをpszConditionsパラメータに使用しないでください。EssGSetGridOptionで利用可能なオプションを使用してください。

ulOptions

ESSG_ULONG_T

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

  • ESSG_ZOOM_DOWN選択されたページ次元またはタイトル次元が下方向へズームされます

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

次のオプションを、ビットOR (|)を使用して、ulOptionsに追加できます: ESSG_NOATTRIBUTESは、pAttributes値のないグリッドを戻します。

備考

戻り値

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

アクセス

なし。

         ESSG_VOID_T ESSG_BeginConditionalZoomIn(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_RANGE_T          pZoomCells;
  ESSG_USHORT_T         usState;
  ESSG_STR_T            pszConditions;

  /* 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;
     pszConditions = "<TOP("Scenario",3,@Datacol(3))";   
      
     /* start the conditional zoom-in  operation */
     sts = EssGBeginConditionalZoomIn(hGrid,       
           &pZoomCells, pszConditions, ulOptions);
  }

  if(sts == 0)
  {
     /* send the entire grid to define the query */
     sts = EssGSendRows(hGrid, &rDataRangeIn, 
            ppDataIn);
  }

  if(sts == 0)
  {
     /* perform the conditional zoom-in */
     sts = EssGPerformOperation(hGrid, 0);

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

}
      

関連トピック