EssOtlPutSmartList

EssOtlCreateObjectによって作成されるテキスト・リスト(SmartList)ハンドルのコンテンツを移入します。作成されるオブジェクト・ハンドルは、ESS_HSMARTLIST_Tハンドルにタイプキャストできます。

確認ルール:

構文

            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

範囲外のスマート・テキストの名前。

戻り値

戻り値:

         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);
}