zoukankan      html  css  js  c++  java
  • 修改 ArcGis Engine 图层字段值

    直接上代码:

            /// <summary>
            /// 修改空间数据库列值
            /// </summary>
            private void EditSdeField()
            {
                //找到你的图层名
                IFeatureClass featureCls = GetFeatureClass("平衡单元");
    
                //得到该图层下有多少数据
                int featureCount = featureCls.FeatureCount(null);
     
                //查询指定列名在表中的索引
                int fieldIndex = featureCls.FindField("MAPDOCID");
     
                IDataset ds = featureCls as IDataset;
    
                IWorkspace workspace = ds.Workspace;
    
                IWorkspaceEdit edit = workspace as IWorkspaceEdit; 
                edit.StartEditing(false);
                edit.DisableUndoRedo();
    
                IFeatureCursor updateCursor = featureCls.Update(null, false);
    
                edit.StartEditOperation();
    
                IFeature feature = updateCursor.NextFeature(); 
                while (feature != null)
                { 
                    feature.set_Value(fieldIndex, Guid.NewGuid().ToString("B")); 
    
                    updateCursor.UpdateFeature(feature);
                    feature = updateCursor.NextFeature();
                }
    
                edit.StopEditOperation();
                edit.StopEditing(true);
            }
    
            public IFeatureClass GetFeatureClass(string layerName)
            {
                try
                {
                    IFeatureWorkspace pFeatureWorkspace =
                        DCIEngine.FrameWork.Global.m_pSDEWorkspace as IFeatureWorkspace;
    
                    IFeatureClass pFeatureClass =
                        pFeatureWorkspace.OpenFeatureClass(layerName);
    
                    return pFeatureClass;
                }
                catch (Exception)
                {
                    return null;
                }
            }

    要注意一点的就是arcgis的guid为{00000000-0000-0000-0000-000000000000} 形式,所以.net的guid 需要         ToString(“B”)转换为 他的格式。

  • 相关阅读:
    解决在火狐中不支持onreadystatechange的方法
    jquery ajax与分页的实现(mvc下)
    通过ChekBox设置EditText内容是否呈现密码显示
    Android自定义dialog
    Android Intent笔记
    启动另外的一个应用程序的Activity(三种方式)(转载)
    Android代码中声明一个layout
    在Linux下创建函数库
    五分钟讲清楚UML
    QT中使用QProcess启用外部程序
  • 原文地址:https://www.cnblogs.com/jiguixin/p/2280994.html
Copyright © 2011-2022 走看看