次の例は、Grid API定数ESSG_DT_MEMBERwKEYの使用方法を示しています。
注: | DisplayOutputは、次のESSG_BeginZoomInで呼び出される関数です。 |
ESSG_VOID_T DisplayOutput(ESSG_PPDATA_T ppDataOut, ESSG_RANGE_T pRangeOut)
{
ESSG_ULONG_T RowIndex, ColumnIndex;
for (RowIndex = 0; RowIndex < pRangeOut.ulNumRows; RowIndex++)
{
for (ColumnIndex = 0; ColumnIndex < pRangeOut.ulNumColumns; ColumnIndex++)
{
switch(ppDataOut[RowIndex][ColumnIndex].usType)
{
case(ESSG_DT_STRING):
printf("%s", ppDataOut[RowIndex][ColumnIndex].Value.pszStr+1);
break;
case(ESSG_DT_LONG):
printf("%ld", ppDataOut[RowIndex][ColumnIndex].Value.lData);
break;
case(ESSG_DT_DOUBLE):
printf("%g", ppDataOut[RowIndex][ColumnIndex].Value.dblData);
break;
case(ESSG_DT_BLANK):
break;
case(ESSG_DT_RESERVED):
printf("#Reserved");
break;
case(ESSG_DT_ERROR):
printf("#Error");
break;
case(ESSG_DT_MISSING):
printf("#Missing");
break;
case(ESSG_DT_ZERO):
printf("%ld", ppDataOut[RowIndex][ColumnIndex].Value.lData);
break;
case(ESSG_DT_NOACCESS):
printf("#NoAccess");
break;
case(ESSG_DT_MEMBER):
printf("%s", ppDataOut[RowIndex][ColumnIndex].Value.pszStr+1);
break;
case(ESSG_DT_MEMBERwKEY):
printf("%s", ppDataOut[RowIndex][ColumnIndex].Value.pszStr+2);
printf(" (Key = %s)", ppDataOut[RowIndex][ColumnIndex].Value.pszStr+5+
strlen(ppDataOut[RowIndex][ColumnIndex].Value.pszStr+2));
break;
default:
break;
}
if (ColumnIndex < pRangeOut.ulNumColumns - 1)
{
printf(",");
}
}
printf("\n");
}
printf("\n");
printf("\n");
}