EssGBeginRemoveOnly

メンバーの削除を開始し、削除対象のセルを切り離します。

構文

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

hGrid

ESSG_HGRID_T

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

usCells

ESSG_USHORT_T

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

pRemoveCells

ESSG_RANGE_T

削除するセルを指定します。削除するメンバーの指定は次元ごとに行われます。したがって、「Qtr1」を削除する場合、Time次元の他のすべてのメンバーは保持されます。レポート内の他の次元は変更されません。これはセル範囲の1次元配列です。

1つの次元のメンバーを1つ以上指定できます。複数の次元も指定できます。

ulOptions

ESSG_ULONG_T

今後使用するために予約されています。ゼロに設定する必要があります。

備考

削除対象のセルは、セル範囲の1次元配列で指定されます。削除するアイテムの指定は次元ごとに行われます。

戻り値

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

         ESSG_VOID_T ESSG_BeginRemoveOnly (ESSG_HGRID_T hGrid)

{
  ESSG_STS_T     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          pRemoveCells;
  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);

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

     /* start the remove-only operation */
     sts = EssGBeginRemoveOnly(hGrid, usCells,
           &pRemoveCells, ulOptions);
  }

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

  if(sts == 0)
  {
     /* perform the remove-only operation */
     sts = EssGPerformOperation(hGrid, 0);

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

関連トピック