域子类

      void CreateDomain(IWorkspace pWorkspace)
         {
           
             IWorkspaceDomains pWorkspaceDomains = (IWorkspaceDomains)pWorkspace;
 
             ICodedValueDomain pCodedValueDomain = new CodedValueDomainClass();
 
             pCodedValueDomain.AddCode("RES", "Residential");
             pCodedValueDomain.AddCode("COM", "Commercial");
             pCodedValueDomain.AddCode("IND", "Industrial");
 
             IDomain pDomain = (IDomain)pCodedValueDomain;
             pDomain.Name = "Building Types";
             pDomain.FieldType = esriFieldType.esriFieldTypeString;
             pDomain.SplitPolicy = esriSplitPolicyType.esriSPTDuplicate;
             pDomain.MergePolicy = esriMergePolicyType.esriMPTDefaultValue;
 
 
             pWorkspaceDomains.AddDomain(pDomain);
         }
 
  public void AssignDomainToFieldWithSubtypes(IFeatureClass pFeatureClass)
         {
 
             IDataset pDataset = (IDataset)pFeatureClass;

             IWorkspace pWorkspace = pDataset.Workspace;
             IWorkspaceDomains pWorkspaceDomains = (IWorkspaceDomains)pWorkspace;
 
      
             IDomain pDistributionDiamDomain =
pWorkspaceDomains.get_DomainByName("DistDiam");
             
 
             ISubtypes pSubtypes = (ISubtypes)pFeatureClass;
 
             pSubtypes.set_Domain(1, "SIZE_ONE", pDistributionDiamDomain);
 
         }
 
 
         public void AddPipeSubtypes(IFeatureClass pFeatureClass)
         {
             
             ISubtypes pSubtypes = (ISubtypes)pFeatureClass;
            
             pSubtypes.SubtypeFieldName = "PipeType";
 
             pSubtypes.AddSubtype(1, "Primary");
             pSubtypes.AddSubtype(2, "Secondary");
 
             pSubtypes.DefaultSubtypeCode = 1;
         }
 

posted @ 2013-08-07 13:16  秋水惜朝  阅读(250)  评论(0编辑  收藏  举报