1. 程式人生 > >AE+C# 給圖層新增欄位

AE+C# 給圖層新增欄位

 public void ShpAddField(int layerindex, string fieldname, int filedtypeindex)
        {
            //獲取要素圖層與要素類
            IFeatureLayer pFeatureLayer = (IFeatureLayer)pAxMapControl.get_Layer(layerindex);
            IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;
            IClass pClass = pFeatureClass as IClass;

            IFieldsEdit pFieldsEdit = pFeatureClass.Fields as IFieldsEdit;
            IField pField = new FieldClass();

            IFieldEdit2 pFieldsEdit2 = pField as IFieldEdit2;

            switch (filedtypeindex)
            { 
                case 0:
                    pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeSmallInteger;
                    break;
                case 1:
                     pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeInteger;
                    break;
                case 2:
                     pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeDouble;
                    break;
                case 3:
                    pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeSingle;
                   
                    break;
                case 4:
                     pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeString;;
                    
                    break;
                case 5:
                    pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeDate;
                    break;
            }


            pFieldsEdit2.Type_2 = esriFieldType.esriFieldTypeString;
            pFieldsEdit2.Name_2 = fieldname;
            pClass.AddField(pField);
        }