在FeatureLayer中添加新的字段,并赋值

#region 添加字段,并设置默认值

            // 获取ITable对象
            ITable pTable = pFeatureLayer as ITable;
            if (pTable == null)
            {
                return false;
            }

            // 创建新字段                       
            IField nField = new FieldClass(); //new a field instance
            IFieldEdit nFieldEdit = (IFieldEdit)nField;
            nFieldEdit.Name_2 = newFieldName;
            nFieldEdit.Type_2 = eFieldType;
            nFieldEdit.DefaultValue_2 = 0;

            pTable.AddField(nFieldEdit);

#endregion

#region 修改字段的值
                IDataset dataset = fclass as IDataset;
                IWorkspace workspace = dataset.Workspace;
                IWorkspaceEdit wse = workspace as IWorkspaceEdit;
                wse.StartEditing(false);
                wse.StartEditOperation();
                proField = fclass.FindField(fields[1]);
                for (int i = 0; i < featureCount; i++)
                {
                    tmp = fclass.GetFeature(i).get_Value(idField).ToString();
                    for (int j = 0; j < pro1.Length; j++)
                    {
                        if (tmp == pro1[j])
                        {
                            fclass.GetFeature(i).set_Value(proField, pro2[j]);
                            fclass.GetFeature(i).Store();
                            break;
                        }
                    }
                }
                wse.StopEditOperation();
                wse.StopEditing(true);
#endregion

你可能感兴趣的:(null,dataset)