目的:
1.arcgis server9.2 ADF实现实现在线编辑EditorTask使用。
准备工作:
1.参考DeveloperKit\SamplesNET\Server\Web_Applications目录下的Common_CustomEditorTaskCSharp.zip
2.布Map Service,名称:EditParcelsDemo,具体步骤见
开始:
1.新建名为CustomEditorTask的ASP.NET Web应用程序,在页面上添加MapResourceManager1、Map1、Menu1、TaskManager1控件,在TaskManager1添加一个EditorTask1控件。
2.设置MapResourceManager1属性,DataSourceType为ArcGIS Server Local,Name为EditParcelsDemo,连接上面发布的EditParcelsDemo。
3.TaskManager1的BuddyControl属性设置为Menu1;Visible为False;MapResource属性为Map1::EditParcelsDemo;EditableLayers属性为0;1;2;4;6,就是对应图层Address Points、Streets、Water Bodies、Parcel Boundaries、Tentative Assessed Parcels,这个属性就设置允许编辑的图层;属性为dbo.DEFAULT;DBO.DemoVersion1。
4.其他的控件也做好相应是设置功能,通过上面的设置就已经实现的基本的编辑功能了可以运行进行编辑操作,EditorTask控件确实方便了没有写任何代码就实现了编辑功能。
5.接下来需要通过代码实现EditorTask控件一些个性化的需要,比如设置哪些属性可以编辑,哪些属性只能只读,哪些元素不能删除等。
6.添加Page_Init事件,并且在这个事件中添加如下代码:

1ArcGIS.Server.9.2.DotNet实现在线编辑EditorTask使用(自带例子 十、二)protected void Page_Init(object sender, EventArgs e)
2        }
7.上面代码为EditorTask1添加了3个事件,需要为这3个事件添加方法代码。
EditorTask1_PreAttributeEdit方法(当进行数据编辑时记录编辑用户名)代码如下:
 1ArcGIS.Server.9.2.DotNet实现在线编辑EditorTask使用(自带例子 十、二)void EditorTask1_PreAttributeEdit(object sender, PreAttributeEditEventArgs e)
 2        }
8.EditorTask1_PostAttributeEdit方法(处理编辑失败)代码如下:
1ArcGIS.Server.9.2.DotNet实现在线编辑EditorTask使用(自带例子 十、二)void EditorTask1_PostAttributeEdit(object sender, PostAttributeEditEventArgs e)
2        }
9.EditorTask1_PreCommandExecute方法(设置AddressPoints层的数据不允许删除)代码如下:
 1ArcGIS.Server.9.2.DotNet实现在线编辑EditorTask使用(自带例子 十、二)void EditorTask1_PreCommandExecute(object sender, ESRI.ArcGIS.ADF.ArcGISServer.Editor.Tools.PreCommandExecuteEventArgs e)
 2        }
10.接下实现属性编辑的控制,在Page_Load事件中添加如下代码:
1ArcGIS.Server.9.2.DotNet实现在线编辑EditorTask使用(自带例子 十、二)protected void Page_Load(object sender, EventArgs e)
2        }
11.FilterAttributes()方法代码和说明如下:
 1ArcGIS.Server.9.2.DotNet实现在线编辑EditorTask使用(自带例子 十、二)private void FilterAttributes()
 2        }
12.这样就实现是属性编辑的过滤,运行测试,进行AddressPoints层的数据删除测试,进行Tentative Assessed Parcels、Address Points、Water Bodies三个层的属性编辑测试。本篇就写到这里,下一篇继续讲对EditorTask控件进行个性化的功能扩展。

相关文章: