IFeatureLayerDefinition pFeatLyrDef = pFeatLyr as IFeatureLayerDefinition ;
pFeatLyrDef.DefinitionExpression = "OBJECTID > 10" ;
pActiveView.Refresh() ;
// (2)实现图层的完全不显示/完全显示
IFeatureLayerDefinition pFeatLyrDef = pFeatLyr as IFeatureLayerDefinition ;
pFeatLyrDef.DefinitionExpression = "1<>1" ; // "1==0"/""
pActiveView.Refresh() ;
2. //SDE编辑
IEngineEditor editor=new EngineEditorClass();
if(workspace is IRemoteDatasetWorkspace){
if(workspace is IVersionWorkspace){
editor.EditSessionMode=esriEngineEditSessionMode.esriEngineEditSessionModeVersioned;
}
else{
editor.EditSessionMode=esriEngineEditSessionMode.esriEngineEditSessionModeNonVersioned;
}
}
editor.StartEditing(workspace,map);
在ArcEngine中使用IEngineEditor编辑ArcSDE数
据,BeginEditing时出现0x8004021F错误的解决办法:
“ 问题可能有几种,
要么是SDE中对当前用户没开通插入、更新或删除权限,
要么是没有注册为版本,
要么是License没有选择GDB”。
-> http://kb.cnblogs.com/a/2121210/
IEngineEditor 接口在创建使用完成之后及时的将其销
毁,就不会引发编辑工具条的失效,因此在使用
IEngineEditor 接口开发的时候一定要注意。
在有如下定义的函数或者类中,IEngineEditor pEngineEditor = new EngineEditorClass ();
退出时一定要加上
System.Runtime.InteropServices.Marshal.ReleaseComObject( pEngineEditor );
这两句应该成对出现!