AE+C# 給圖層新增欄位
阿新 • • 發佈:2019-01-27
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();
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);
}
{
//獲取要素圖層與要素類
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;
{
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);
}