EssOtlCreateObjectによって作成されるテキスト・リスト(SmartList)ハンドルのコンテンツを移入します。作成されるオブジェクト・ハンドルは、ESS_HSMARTLIST_Tハンドルにタイプキャストできます。
確認ルール:
pIDsおよびppszTextへの各エントリは一意である必要があります
ppszTextの文字列は、テキスト・リスト名に指定された名前の検証ルールに従う必要があります。
ppszTextテキスト文字列は、空、#OUTOFRANGE、またはpszMissingNameあるいはpszOutofRangeNameと同じであってはなりません
lenのエントリ数は1024以下である必要があります。
構文
ESS_FUNC_M EssOtlPutSmartList(hOutline, hSmartList, len, *pIDs, *ppszText, pszMissingName, pszOutofRangeName);
パラメータ | データ型 | 説明 |
---|---|---|
hOutline |
ESS_HOUTLINE_T |
テキスト・リストのソースEssbaseアウトライン。 |
hSmartList |
ESS_HSMARTLIST_T |
テキスト・リスト・ハンドル |
len |
ESS_UINT16 |
アイテム数 |
*pIDs |
ESS_UINT32_T |
整数ID |
*ppszText |
ESS_STR_T |
一覧表示されるテキスト |
pszMissingName |
ESS_STR_T |
不明なスマート・テキスト名 |
pszOutofRangeName |
ESS_STR_T |
範囲外のスマート・テキストの名前。 |
戻り値
戻り値:
0 - 正常終了の場合
pIDs and ppszText contain values.
エラー番号 - 失敗した場合
pIDs and ppszText are NULL.
例
void TestPutSmartList()
{
ESS_STS_T sts = ESS_STS_NOERR;
ESS_HOUTLINE_T hOutline = ESS_NULL;
ESS_OBJECT_TYPES objType;
ESS_HOBJECT_T hObjHandle;
ESS_PHOBJECT_T hObjHandles;
ESS_PSMARTLISTINFO_T SmartListInfo = ESS_NULL;
ESS_OBJDEF_T Object;
ESS_HSMARTLIST_T hSmartList;
ESS_USHORT_T len;
ESS_SMARTLISTID_T pIds[4];
ESS_STR_T ppszText[4];
ESS_STR_T pszMissingName;
ESS_STR_T pszOutOfRangeName;
ESS_ULONG_T Count, i;
ESS_STR_T smartListNames[3] =
{ "MainColors", "TempColors1", "TempColors2" };
memset(&Object, '\0', sizeof(Object));
Object.hCtx = hCtx;
Object.ObjType = ESS_OBJTYPE_OUTLINE;
Object.AppName = szAppName;
Object.DbName = szDbName;
Object.FileName = szFileName;
/* Open outline */
sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE,
ESS_TRUE, &hOutline);
/* Create a SmartList */
objType = OBJECT_SMARTLIST;
sts = EssOtlCreateObject(hOutline, objType,
smartListNames[0], &hObjHandle);
/* Set up and put SmartList */
hSmartList = (ESS_HSMARTLIST_T)hObjHandle;
len = 4;
pIds[0] = 1;
pIds[1] = 2;
pIds[2] = 3;
pIds[3] = -1;
ppszText[0] = "Red";
ppszText[1] = "Green";
ppszText[2] = "Blue";
ppszText[3] = "Yellow";
pszMissingName = "Missing";
pszOutOfRangeName = "OutOfRange";
sts =
EssOtlPutSmartList(hOutline, hSmartList,
len, pIds, ppszText, pszMissingName,
pszOutOfRangeName);
SaveOutline(hOutline);
/* Clean up */
for(i = 0; i <= 12; i++)
{
sts = EssOtlFindObject(hOutline, objType,
smartListNames[i], &hObjHandle);
hSmartList = (ESS_HSMARTLIST_T)hObjHandle;
sts = EssOtlDeleteObject(hOutline, hSmartList);
}
SaveOutline(hOutline);
objType = OBJECT_SMARTLIST;
sts = EssOtlListObjects(hOutline, objType,
&Count, &hObjHandles);
for (i = 0; i < Count; i++)
DisplaySmartListInfo(hOutline, hObjHandles[i]);
if(hObjHandles)
EssFree (hInst, hObjHandles);
sts = EssUnlockObject(hCtx, Object.ObjType,
Object.AppName, Object.DbName, Object.FileName);
sts = EssOtlCloseOutline(hOutline);
}