選択項目のみ保持の操作を開始し、保持対象のセルを分離します。これにより、その他のセルはすべて削除されます。
構文
ESSG_FUNC_M
EssGBeginKeepOnly
(
hGrid, usCells, pKeepCells, ulOptions
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hGrid |
ESSG_HGRID_T |
EssGNewGridから戻されるハンドル。 |
usCells |
ESSG_USHORT_T |
pKeepCellsのセル範囲の数(配列のサイズ)。 |
pKeepCells |
ESSG_RANGE_T |
保持するセルを指定します。保持するメンバーの指定は次元ごとに行います。したがって、たとえば"Qtr1"を保持する場合、Time次元の他のすべてのメンバーが削除され、"Qtr1"がTime次元を唯一示すものになります。レポート内の他の次元は変更されません。これはセル範囲の1次元配列です。 1つの次元のメンバーを1つ以上指定できます。複数の次元も指定できます。 |
ulOptions |
ESSG_ULONG_T |
今後使用するために予約されています。ゼロに設定する必要があります。 |
備考
保持するセルはセル範囲の1次元配列として指定します。保持するアイテムの指定は、次元ごとに行われます。
戻り値
正常終了の場合は、ESSG_STS_NOERRが戻されます。
アクセス
なし。
例
ESSG_VOID_T ESSG_BeginKeepOnly (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 pKeepCells;
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);
pKeepCells.ulRowStart = 1;
pKeepCells.ulColumnStart = 0;
pKeepCells.ulNumRows = 1;
pKeepCells.ulNumColumns = 1;
ulOptions = 0;
usCells = 1;
/* start the keep-only operation */
sts = EssGBeginKeepOnly(hGrid, usCells,
&pKeepCells, ulOptions);
}
if(sts == 0)
{
/* send the entire grid to define the query */
sts = EssGSendRows(hGrid, &rDataRangeIn,
ppDataIn);
}
if(sts == 0)
{
/* perform the keep-only operation */
sts = EssGPerformOperation(hGrid, 0);
/* free the built data */
FreeTwoDim(ppDataIn, rDataRangeIn.ulNumRows);
}
if (sts == 0)
{
/* determine the results of the keep-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);
}
}
関連トピック