public partial class FrmAttributeTable : Form
{
private AxMapControl m_MapCtl;
public FrmAttributeTable(AxMapControl pMapCtl)
{
InitializeComponent();
m_MapCtl = pMapCtl;
} private void FrmAttributeTable_Load_1(object sender, EventArgs e)
{
ILayer pLayer = m_MapCtl.get_Layer();
IFeatureLayer pFLayer = pLayer as IFeatureLayer;
IFeatureClass pFC = pFLayer.FeatureClass; IFeatureCursor pFCursor = pFC.Search(null, false);
IFeature pFeature = pFCursor.NextFeature(); DataTable pTable = new DataTable(); for (int i = ; i < pFC.Fields.FieldCount-; i++)
{
string fieldName = pFC.Fields.get_Field(i+).Name; DataColumn colName = new DataColumn(fieldName);
colName.DataType = System.Type.GetType("System.String");
//colName.Caption为显示各用户看的名称。columnName改变的同时,caption也会变。
pTable.Columns.Add(colName);
} for (int j = ; pFeature != null; j++)
{
DataRow pRow = pTable.NewRow();
pTable.Rows.Add(pRow);
for (int i = ; i < pTable.Columns.Count; i++)
{
string fieldValue = pFeature.get_Value(i + ).ToString();//依次拿到各字段的值 pTable.Rows[j][i] = fieldValue;
}
pFeature = pFCursor.NextFeature();
} dataGridView1.DataSource = pTable; //DataColumn colName = new DataColumn("ID");
//colName.DataType = System.Type.GetType("System.String");
//pTable.Columns.Add(colName); //DataColumn pBSM = new DataColumn("BSM");
//pBSM.DataType = System.Type.GetType("System.String");
//pTable.Columns.Add(pBSM); //DataColumn colArea = new DataColumn("TBMJ");
//colArea.DataType = System.Type.GetType("System.String");
//pTable.Columns.Add(colArea); //DataColumn colParameter = new DataColumn("TBZC");
//colArea.DataType = System.Type.GetType("System.String");
//pTable.Columns.Add(colParameter); //int indexOfID = pFC.FindField("ID");
//int indexOfBSM = pFC.FindField("BSM");
//int indexOfTBMJ = pFC.FindField("TBMJ");
//int indexOfTBZC = pFC.FindField("TBZC"); //while (pFeature != null)
//{
// string id = pFeature.get_Value(indexOfID).ToString();
// string bsm = pFeature.get_Value(indexOfBSM).ToString();
// string TBMJ = pFeature.get_Value(indexOfTBMJ).ToString();
// string TBZC = pFeature.get_Value(indexOfTBZC).ToString();
// DataRow pRow = pTable.NewRow();
// pRow[0] = id;
// pRow[1] = bsm;
// pRow[2] = TBMJ;
// pRow[3] = TBZC;
// pTable.Rows.Add(pRow);
// pFeature = pFCursor.NextFeature();
//} }
}

ae动态显示属性表————切记DataTable中要先Add(row)之后再往里传值。的更多相关文章

  1. AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)

    /* * 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用. * * ----------------------------------------------- ...

  2. arcEngine开发之查看属性表

    这篇文章给出实现属性表功能的具体步骤,之后再对这些步骤中的代码进行分析. 环境准备 拖动TOCControl.MapControl控件到Form窗体上,然后拖动ContextMenuStrip控件至T ...

  3. 【转载】C#通过Remove方法移除DataTable中的某一列数据

    在C#中的Datatable数据变量的操作过程中,有时候我们需要移除当前DataTable变量中的某一列的数据,此时我们就需要使用到DataTable变量内部的Columns属性变量的Remove方法 ...

  4. AE属性表操作

    转自chanyinhelv原文AE属性表操作 实现的操作包括:1.打开属性表:2.编辑属性表:3.增加属性列:4.数据排序:5.字段计算…… 嗯,实现的功能目前就这些吧,后续还会继续跟进,还望大家多多 ...

  5. TWaver初学实战——如何在TWaver属性表中添加日历控件?

    在日期输入框中添加日历控件,是一种非常流行和实用的做法.临渊羡鱼不如退而写代码,今天就看看在TWaver中是如何实现的.   资源准备   TWaver的在线使用文档中,就有TWaver Proper ...

  6. 多个不同的表合并到一个datatable中,repeater在绑定datatable

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...

  7. MFC中属性表单和向导对话框的使用

    每次在使用MFC创建一个框架时,需要一步步选择自己的程序的外观,基本功能等选项,最后MFC会生成一个基本的程序框架,这个就是向导对话框:而属性表单则是另外一种对话框,表单上有多个属性页,每点击某一页, ...

  8. 【JVM虚拟机】(8)--深入理解Class中--方法、属性表集合

    #[JVM虚拟机](8)--深入理解Class中--方法.属性表集合 之前有关class文件已经写了两篇博客: 1.[JVM虚拟机](5)---深入理解JVM-Class中常量池 2.[JVM虚拟机] ...

  9. 去除ArcMap连接空间数据库中多余的属性表

    这个操作目前可能不具有可行性,但是为了完整性还是在下面讲一下吧.如有兴趣的小伙伴,可以按照下面的操作方式去尝试. 一.需求 去除ArcMap连接空间数据库中多余的属性表. PL/SQL中查询得到的内容 ...

随机推荐

  1. double保持精度,防止小数点后数字的丢失的小方法

    一般情况下,输入带小数点的字面值,编译器会把它解析成double 类型. 例如:一个字面值被直接放到代码中,由于带小数点所以,默认值为double类型   输出结果是:1.12345678912345 ...

  2. Network - DNS

    珠玉在前,不再赘言 DNS 原理入门 从理论到实践,全方位认识DNS(理论篇) 从理论到实践,全方位认识DNS(实践篇)

  3. [C] C++对C的部分扩充

    C语言只允许变量在程序(或函数)开始处定义,而C++允许变量在程序的任何位置定义. C语言中没有定义作用域限定运算符. C语言中没有布尔类型. C++中关于枚举类型和结构类型的定义更加简洁. C++新 ...

  4. 谈谈Java程序员进阶的那些知识和方向

    谈谈Java程序员进阶的那些知识和方向 记得前段时间看过一篇文章谈到一种程序员叫野生程序员,战斗力极强,可以搞定一切问题,但是通常看问题抓不到本质,或者说是google/baidu/stackover ...

  5. storm坑之---同步问题

    最近在做一个监控系统,用来监控网站上各个业务功能的调用量以及处理时间,以便及时发现问题,及时处理.做这种实时统计处理系统,自然首先想到了storm,于是现学现用,自然遇到了一些坑,而且不少是网上也难以 ...

  6. Android之Activity的生命周期

    PS:写一发关于Activity的生命周期,也算是面试的重点内容. 学习内容: 1.Activity的生命周期 2.面对多种情况的时候Activity的生命周期 3.onSaveInstanceSta ...

  7. 基于HTML5的WebGL呈现A星算法3D可视化

    http://www.hightopo.com/demo/astar/astar.html 最近搞个游戏遇到最短路径的常规游戏问题,一时起兴基于HT for Web写了个A*算法的WebGL 3D呈现 ...

  8. Swift 2.2发布

    Swift 2.2 发布了.支持linux平台.Swift是一种使用现代的安全设计方式和软件设计模式构建的通用编程语言.该版本语言更新如下: SE-0001: Allow (most) keyword ...

  9. ADB am 命令详细参数

    usage: am [subcommand] [options] usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <F ...

  10. C# ~ 数据库连接

    C#连接数据库(SQL Server)进行数据的读取和写入,学习之. 1. 数据库连接 服务器:“Data Source=服务器IP; Initial Catalog=数据库; User ID=用户名 ...