资源简介
该段代码实现的是地图的编辑功能,通过该功能,可以让你熟悉AE的开发过程,熟悉一下开发的过程。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Geodatabase;
namespace SpatialDataEditing
{
//功能:以DataGridView显示地图各图层的属性,显示内容可以是整个图层上的所有要素,或仅图层上的选择要素
public partial class AttributesForm : Form
{
IMap m_map;
bool displaySelectedFeatures = true;
const string m_dataSetName = “m_layerDataSet“;
const string m_dataSourceName = “GeoDataSource“;
DataSet m_layerDataSet = new DataSet(m_dataSetName);
public AttributesForm(IMap map bool displaySelFeatures)
{
InitializeComponent();
m_map = map;
displaySelectedFeatures = displaySelFeatures;
}
private void AttributesForm_Load(object sender EventArgs e)
{
CreatelayersTreeView();
}
#region “CreatelayersTreeView“
private void CreatelayersTreeView()
{
TreeNode rootnode = new TreeNode(“layers“);
trvlayers.Nodes.Add(rootnode);
for (int i = 0; i <= m_map.layerCount - 1; i++)
{
TreeNode layerName = new TreeNode(m_map.get_layer(i).Name);
if (m_map.get_layer(i) is IGrouplayer || m_map.get_layer(i) is ICompositelayer)
{
ICompositelayer clayer = m_map.get_layer(i) as ICompositelayer;
for (int j = 0; j <= clayer.Count - 1; j++)
{
TreeNode sublayerName = new TreeNode(clayer.get_layer(j).Name);
layerName.Nodes.Add(sublayerName);
}
}
rootnode.Nodes.Add(layerName);
}
trvlayers.Sort();
}
#endregion
private void trvlayers_AfterSelect(object sender TreeViewEventArgs e)
{
string layerName = e.Node.Text;
IFeaturelayer featurelayer = GetlayerByName(layerName);
if (featurelayer == null) return;
ConstructDataSet(featurelayer);
dataGridView1.DataSource = m_layerDataSet;
dataGridView1.DataMember = featurelayer.Name;
}
#region “ConstructDataSet“
private void ConstructDataSet(IFeaturelayer pFeatLyr)
{
ilayerFields pFeatlyrFields;
pFeatlyrFields = pFeatLyr as ilayerFields;
IFeatureClass pFeatCls = pFeatLyr.FeatureClass;
if (m_layerDataSet.Tables[pFeatLyr.Name] == null)
{
DataTable pTable = new DataTable(pFeatLyr.Name);
DataColumn pTableCol;
for (int i = 0; i <= pFeatlyrFields.FieldCount - 1; i++)
{
pTableCol = new DataColumn(pFeatlyrFields.get_Field(i).Al
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 896 2011-11-17 15:01 SpatialDataEditing.sln
文件 2238 2011-08-28 16:41 SpatialDataEditing\App.ico
文件 6939 2011-11-17 15:05 SpatialDataEditing\AttributesForm.cs
文件 4538 2011-11-17 14:56 SpatialDataEditing\AttributesForm.Designer.cs
文件 5817 2011-08-28 16:41 SpatialDataEditing\AttributesForm.resx
文件 303104 2012-04-20 14:21 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.ArcMapUI.dll
文件 1656165 2012-02-27 14:41 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.ArcMapUI.xm
文件 360448 2012-04-20 14:16 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.CartoUI.dll
文件 2578366 2012-02-27 14:41 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.CartoUI.xm
文件 323584 2012-04-20 14:10 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.Catalog.dll
文件 1948089 2012-02-27 14:41 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.Catalog.xm
文件 348160 2012-04-20 14:12 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.CatalogUI.dll
文件 2434065 2012-02-27 14:41 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.CatalogUI.xm
文件 90112 2012-04-20 14:09 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.DisplayUI.dll
文件 614205 2012-02-27 14:41 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.DisplayUI.xm
文件 229376 2012-04-20 14:28 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.Editor.dll
文件 1012220 2012-02-27 14:41 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.Editor.xm
文件 135168 2012-04-20 14:31 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.EditorExt.dll
文件 578949 2012-02-27 14:41 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.EditorExt.xm
文件 102400 2012-04-20 14:05 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.fr
文件 445315 2012-02-27 14:41 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.fr
文件 65536 2012-04-20 14:07 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.GeoDataba
文件 208120 2012-02-27 14:41 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.GeoDataba
文件 65536 2012-04-20 14:54 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.GeoSurvey.dll
文件 181693 2012-02-27 14:41 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.GeoSurvey.xm
文件 40960 2012-04-20 13:51 SpatialDataEditing\bin\Debug\ESRI.ArcGIS.Search.dll
文件 325632 2014-09-17 11:06 SpatialDataEditing\bin\Debug\MapControlApplication1.exe
文件 931328 2014-09-17 11:06 SpatialDataEditing\bin\Debug\MapControlApplication1.pdb
文件 11608 2014-09-17 11:09 SpatialDataEditing\bin\Debug\MapControlApplication1.vshost.exe
文件 490 2010-03-17 22:39 SpatialDataEditing\bin\Debug\MapControlApplication1.vshost.exe.manifest
............此处省略214个文件信息
评论
共有 条评论