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();
{
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);
}
{
//获取要素图层与要素类
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);
}