数据编辑做过很多次,没怎么出现问题,今天出现了问题,浪费了大半天,记录一下。

问题:修改Featrue的属性,修改后停止编辑,但是没有提示是否保存修改

原因:在编辑数据的时候没有加StartEditOperation方法。

解决办法:在修改数据的时候加上StartEditOperation和StopEditOperation方法

代码如下:

1、打开工作空间和开始编辑  

 ''' <summary>
''' 开始编辑VB
''' </summary>
''' <remarks></remarks>
Public Function StartEdit() As Boolean
If IsNothing(pWorkspaceEdit) Then
Dim pWorkspaceFactory As IWorkspaceFactory = New ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactory
Dim dataset As IDataset = pPointFeatureLayer.FeatureClass
Dim workspace As IWorkspace = pWorkspaceFactory.OpenFromFile(dataset.Workspace.PathName, )
pWorkspaceEdit = workspace
End If
pWorkspaceEdit.StartEditing(True)
End Function
        //开始编辑C#
if(pWorkspaceEdit==null)
{
IWorkspaceFactory pWorkspaceFactory =new ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactory();
IDataset dataset =pFeatureLayer.FeatureClass as IDataset;
IWorkspace workspace = pWorkspaceFactory.OpenFromFile(dataset.Workspace.PathName, );
pWorkspaceEdit = workspace as IWorkspaceEdit;
pWorkspaceEdit.StartEditing(true);
}

2、开始操作和停止操作

  Public Function StartOperation() As Boolean
pWorkspaceEdit.StartEditOperation()
Return True
End Function
Public Function StopOperation() As Boolean
pWorkspaceEdit.StopEditOperation()
Return True
End Function

3、保存编辑

    ''' <summary>
''' 保存编辑
''' </summary>
''' <remarks></remarks>
Public Function StopEdit() As Boolean
'pWorkspaceEdit.IsBeingEdited()
Dim bSave As Boolean If Not HasEdits() Then
bSave = False
Else
Dim r As System.Windows.Forms.DialogResult
r = MessageDialog.Show("是否保存编辑?", "提示", Windows.Forms.MessageBoxButtons.YesNoCancel)
Select Case r
Case Windows.Forms.DialogResult.Yes
bSave = True
Case Windows.Forms.DialogResult.No
bSave = False
Case Windows.Forms.DialogResult.Cancel
Return True
End Select
End If
pWorkspaceEdit.StopEditing(bSave)
Return True
End Function Private Function HasEdits() As Boolean
Dim bHasEdits As Boolean
pWorkspaceEdit.HasEdits(bHasEdits)
Return bHasEdits
End Function

4、修改数据的地方

  m_editor.StartOperation()
Dim pFieldIndex As Integer = pTagFeature.Fields.FindField(e.ChangedItem.PropertyDescriptor.Name)
pTagFeature.Value(pFieldIndex) = e.ChangedItem.Value
pTagFeature.Store()
m_editor.StopOperation()

ArcEngine 数据编辑(IWorkspaceFactory)的更多相关文章

  1. ArcEngine数据编辑--选择要素

    转自原文ArcEngine数据编辑--选择要素 好久没有写博文了,这段时间相对空闲一点,把AE数据编辑实现总结下. 要编辑要素,首先要选中要素,按shift键进行多选,按esc键清空选择. 个人了解的 ...

  2. 成功解决Developer Express和Janus WinForms Controls中控件的冲突

    最新在做一套GIS系统的框架,其中用到了Janus WinForms Controls和Developer Express这两个插件. 我用DE的xtraTabbedMdiManager组件来管理我的 ...

  3. ArcEngine 栅格数据

    1.ArcEngine中的栅格数据组织方式(详细信息见:http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#/na/009t0000 ...

  4. ArcEngine中打开各种数据源(WorkSpace)的连接

    (SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业 ...

  5. ArcEngine编辑保存错误:Unable to create logfile system tables

    通过ArcEngine对多个SDE中多个图层进行批量编辑处理,其中有部分图层在结束编辑的时候出现错误提示(部分图层可以,只有两个数据较多的图层保存失败). 错误信息:Unable to create ...

  6. ArcEngine中打开各种数据源(WorkSpace)的连接(转)

    ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开 ...

  7. ArcEngine中打开各种数据源(WorkSpace)的连接http://www.cnblogs.com/feilong3540717/archive/2011/08/07/2129906.html

    ArcEngine中打开各种数据源(WorkSpace)的连接 ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影 ...

  8. [转] ArcEngine中打开各种数据源(WorkSpace)的连接

    原文 ArcEngine中打开各种数据源(WorkSpace)的连接(SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源. ...

  9. ArcEngine:栅格分级渲染

    ArcEngine对矢量数据进行风格化实在是得心应手,同样的对于栅格图像也能进行风格化!以前没接触过,今天正好需要,做出了栅格图像的渲染!下面实现的思路: 1.定义渲染的一系列接口 2.判断图像是否建 ...

随机推荐

  1. H3C NAT的信息显示和调试

  2. ArrayList中remove方法和set(null)的区别

    在分析源码ArrayList.remove()时,偶然发现了一个疑惑的点,就是:源码也是将最后一个对象的引用指向null(源码:elementData[--size] = null; // clear ...

  3. Python--day31--UDP协议的socket通信

  4. Scrap简介

    原文:https://blog.csdn.net/ssw_1990/article/details/51254227 提到Python与网络爬虫,可能会想到urllib,urllib2,Beautif ...

  5. 在js中arguments对象的理解

    一.在函数调用的时候,浏览器每次都会传递进两个隐式参数 函数的上下文对象this 封装实参的对象arguments 二.arguments 对象 arguments 对象实际上是所在函数的一个内置类数 ...

  6. POJ 2387 Til the Cows Come Home(最短路模板)

    题目链接:http://poj.org/problem?id=2387 题意:有n个城市点,m条边,求n到1的最短路径.n<=1000; m<=2000 就是一个标准的最短路模板. #in ...

  7. CSS---cursor 鼠标指针光标样式(形状)

    url 需使用的自定义光标的 URL. 注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标. default 默认光标(通常是一个箭头) auto 默认.浏览器设置的光标 ...

  8. luoguP4313 文理分科

    luoguP4313 文理分科 复习完之后做了道典型题目. 这道题条件有点多 我们逐个分析 如果没有\(sameart\)或者\(samescience\)的限制,就是一个裸的最大权闭合子图的问题了 ...

  9. codeforces 677D(分层图dp)

    Codeforces 677D 传送门:https://codeforces.com/contest/677/problem/D 题意: 给你一个n*m的方格图,每个点有一个权值val,现在要求你从坐 ...

  10. Python10_代码规范和可读性

    养成好的编程习惯和方法对提升代码可读性至关重要. 1.类.模块.包:不要用下划线,命名要简短 2.类:命名最好以大写开头 3.模块.包:用小写单词 4.变量.函数.方法:可以用下划线提高可读性,尽量都 ...