The following sample creates an object data table called Zones with two columns, Residential and Commercial.
To create an object data table
#include "StdAfx.h" #include "StdArx.h" #include <MapODColumn.h> #include <MapArxApi.h> #include <MapODDefinition.h> #include <MapProj.h>
AcMapSession *mapApi; AcMapProject *pProj; AcMapODContainer *pODCont; AcMapODTableDefinition *pTabDef = NULL; AcMapODColumnDefinition *pColDef1 = NULL; AcMapODColumnDefinition *pColDef2 = NULL;
mapApi = AcMapGetSession(); mapApi->GetProject(pProj); pProj->GetODContainer(pODCont);
pTabDef = new AcMapODTableDefinition(); pColDef1 = new AcMapODColumnDefinition(); pColDef2 = new AcMapODColumnDefinition();
pColDef1->SetName("Residential"); pColDef1->SetDescription("Residential R1-R3"); pColDef1->SetType(AcMap::kCharacter); pColDef1->SetDefaultValue("R1"); pColDef2 = new AcMapODColumnDefinition(); pColDef2->SetName("Commercial"); pColDef2->SetDescription("Commercial C1-C3"); pColDef2->SetType(AcMap::kCharacter); pColDef2->SetDefaultValue("C1");
pTabDef->AddColumn(*pColDef1); pTabDef->AddColumn(*pColDef2);
pODCont->CreateODTable("Zones", *pTabDef, "Zoning of King City", Adesk::kTrue);
if (pColDef2) delete pColDef2; if (pColDef1) delete pColDef1; if (pTabDef) delete pTabDef;