• 大小: 3.23MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-09
  • 语言: C#
  • 标签: GIS  AE开发  

资源简介

ArcGIS_Engine_C#实例开发教程的 ArcGIS 10.2 + VS2012的无保留实现版本,方便AO开发的同学学习,吐血推荐,3天的成果。 第一讲 桌面GIS应用程序框架的建立 第二讲 菜单的添加及其实现 第三讲 MapControl与PageLayoutControl同步 第四讲 状态栏信息的添加与实现 第五讲 鹰眼的实现 第六讲 右键菜单添加与实现 教程Bug及优化方案 1 第七讲 图层符号选择器的实现 1 第七讲 图层符号选择器的实现 2 第八讲 属性数据表的查询显示

资源截图

代码片段和文件信息

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.Controls;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.SystemUI;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Geodatabase;

namespace TDMap
{



    public partial class AttributeTableFrm : Form
    {
        public DataTable attributeTable;

        public AttributeTableFrm()
        {
            InitializeComponent();
        }

        //根据图层字段创建一个只含字段的空DataTable

        private static DataTable CreateDataTableBylayer(ilayer player string tableName)
        {
            //创建一个DataTable表
            DataTable pDataTable = new DataTable(tableName);
            //取得ITable接口
            ITable pTable = player as ITable;
            IField pField = null;
            DataColumn pDataColumn;
            //根据每个字段的属性建立DataColumn对象
            for (int i = 0; i < pTable.Fields.FieldCount; i++)
            {
                pField = pTable.Fields.get_Field(i);
                //新建一个DataColumn并设置其属性
                pDataColumn = new DataColumn(pField.Name);
                if (pField.Name == pTable.OIDFieldName)
                {
                    pDataColumn.Unique = true;//字段值是否唯一
                }
                
                pDataColumn.AllowDBNull = pField.IsNullable;//字段值是否允许为空
                pDataColumn.Caption = pField.AliasName;//字段别名
                pDataColumn.DataType = System.Type.GetType(ParseFieldType(pField.Type));//字段数据类型
                pDataColumn.DefaultValue = pField.DefaultValue;//字段默认值
                
                //当字段为String类型时设置字段长度
                if (pField.VarType == 8)
                    pDataColumn.MaxLength = pField.Length;
                
                //字段添加到表中
                pDataTable.Columns.Add(pDataColumn);
                pField = null;
                pDataColumn = null;
            }
            return pDataTable;
        }

        // 将 GeoDatabase字段类型转换成.Net相应的数据类型
        public static string ParseFieldType(esriFieldType fieldType)
        {
            switch (fieldType)
            {
                case esriFieldType.esriFieldTypeBlob:
                    return “System.String“;
                case esriFieldType.esriFieldTypeDate:
                    return “System.DateTime“;
                case esriFieldType.esriFieldTypeDouble:
                    return “System.Double“;
                case esriFieldType.esriFieldTypeGeometry:
                    return “System.String“;
                case esriFieldType.esriFieldTypeGlobalID:
                    return “System.String“;
                case esriFieldType.esriFieldTypeGUID:
                    return “System.String“;
                case esriFieldType.esriFieldTypeInteger:
                    return “System.Int32“;
      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    2592840  2015-10-16 19:06  TDMap\ArcGIS_Engine_C#实例开发教程.pdf

     文件        187  2015-10-14 11:18  TDMap\TDMap\App.config

     文件       7607  2015-10-16 18:52  TDMap\TDMap\AttributeTableFrm.cs

     文件       2496  2015-10-16 18:44  TDMap\TDMap\AttributeTableFrm.Designer.cs

     文件       5817  2015-10-16 18:44  TDMap\TDMap\AttributeTableFrm.resx

     文件      62464  2015-10-16 19:03  TDMap\TDMap\bin\Debug\TDMap.exe

     文件        187  2015-10-14 11:18  TDMap\TDMap\bin\Debug\TDMap.exe.config

     文件      97792  2015-10-16 19:03  TDMap\TDMap\bin\Debug\TDMap.pdb

     文件      22984  2015-10-16 10:24  TDMap\TDMap\bin\Debug\TDMap.vshost.exe

     文件        187  2015-10-14 11:18  TDMap\TDMap\bin\Debug\TDMap.vshost.exe.config

     文件        490  2012-06-06 02:06  TDMap\TDMap\bin\Debug\TDMap.vshost.exe.manifest

     文件      14552  2015-10-16 09:57  TDMap\TDMap\ControlsSynchronizer.cs

     文件      21824  2015-10-16 19:05  TDMap\TDMap\Form1.cs

     文件      25207  2015-10-16 17:23  TDMap\TDMap\Form1.Designer.cs

     文件      18580  2015-10-16 17:23  TDMap\TDMap\Form1.resx

     文件       2507  2015-10-16 14:33  TDMap\TDMap\layerVisibility.cs

     文件       3127  2015-10-16 09:21  TDMap\TDMap\Maps.cs

     文件     129648  2015-10-14 12:57  TDMap\TDMap\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       8241  2015-10-16 18:55  TDMap\TDMap\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件        180  2015-10-16 19:03  TDMap\TDMap\obj\Debug\TDMap.AttributeTableFrm.resources

     文件        912  2015-10-16 18:46  TDMap\TDMap\obj\Debug\TDMap.csproj.FileListAbsolute.txt

     文件       1155  2015-10-16 18:46  TDMap\TDMap\obj\Debug\TDMap.csproj.GenerateResource.Cache

     文件     119974  2015-10-16 18:05  TDMap\TDMap\obj\Debug\TDMap.csprojResolveAssemblyReference.cache

     文件      62464  2015-10-16 19:03  TDMap\TDMap\obj\Debug\TDMap.exe

     文件       8243  2015-10-16 19:03  TDMap\TDMap\obj\Debug\TDMap.Form1.resources

     文件      97792  2015-10-16 19:03  TDMap\TDMap\obj\Debug\TDMap.pdb

     文件        730  2015-10-16 19:03  TDMap\TDMap\obj\Debug\TDMap.Properties.Resources.resources

     文件       1023  2015-10-16 19:03  TDMap\TDMap\obj\Debug\TDMap.SymbolSelectorFrm.resources

     文件          0  2015-10-14 11:18  TDMap\TDMap\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2015-10-14 11:18  TDMap\TDMap\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

............此处省略60个文件信息

评论

共有 条评论