The following example illustrates the use of the Grid API constant ESSG_DT_MEMBERwKEY.
Note: | DisplayOutput is a function that is called below in 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"); }