ae动态显示属性表————切记DataTable中要先Add(row)之后再往里传值。
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)之后再往里传值。的更多相关文章
- AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)
/* * 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用. * * ----------------------------------------------- ...
- arcEngine开发之查看属性表
这篇文章给出实现属性表功能的具体步骤,之后再对这些步骤中的代码进行分析. 环境准备 拖动TOCControl.MapControl控件到Form窗体上,然后拖动ContextMenuStrip控件至T ...
- 【转载】C#通过Remove方法移除DataTable中的某一列数据
在C#中的Datatable数据变量的操作过程中,有时候我们需要移除当前DataTable变量中的某一列的数据,此时我们就需要使用到DataTable变量内部的Columns属性变量的Remove方法 ...
- AE属性表操作
转自chanyinhelv原文AE属性表操作 实现的操作包括:1.打开属性表:2.编辑属性表:3.增加属性列:4.数据排序:5.字段计算…… 嗯,实现的功能目前就这些吧,后续还会继续跟进,还望大家多多 ...
- TWaver初学实战——如何在TWaver属性表中添加日历控件?
在日期输入框中添加日历控件,是一种非常流行和实用的做法.临渊羡鱼不如退而写代码,今天就看看在TWaver中是如何实现的. 资源准备 TWaver的在线使用文档中,就有TWaver Proper ...
- 多个不同的表合并到一个datatable中,repeater在绑定datatable
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...
- MFC中属性表单和向导对话框的使用
每次在使用MFC创建一个框架时,需要一步步选择自己的程序的外观,基本功能等选项,最后MFC会生成一个基本的程序框架,这个就是向导对话框:而属性表单则是另外一种对话框,表单上有多个属性页,每点击某一页, ...
- 【JVM虚拟机】(8)--深入理解Class中--方法、属性表集合
#[JVM虚拟机](8)--深入理解Class中--方法.属性表集合 之前有关class文件已经写了两篇博客: 1.[JVM虚拟机](5)---深入理解JVM-Class中常量池 2.[JVM虚拟机] ...
- 去除ArcMap连接空间数据库中多余的属性表
这个操作目前可能不具有可行性,但是为了完整性还是在下面讲一下吧.如有兴趣的小伙伴,可以按照下面的操作方式去尝试. 一.需求 去除ArcMap连接空间数据库中多余的属性表. PL/SQL中查询得到的内容 ...
随机推荐
- office快速制作简历
毕业的一年是由学校向社会转变的一年,面临着人生的一个重大转折--找工作.在如今信息爆炸的时代,纵使力拔山兮气盖世也难免会被遗落芳草之中而不得一展宏图.对未来的憧憬,对美好生活的向往,或多或少你需要一份 ...
- Unity 3D制作2D游戏的几种方法
1.使用本身UGUI. 2.把摄像机的投影改为正交投影,不考虑Z轴. 3.使用Untiy自身的2D模式. 4.使用2D TooKit插件.
- ViewPager的缓存机制
1.实现Viewpager的页面懒加载: 在某些情况下,例如使用ViewPager查看多张大图,此时多张图片不能一次性载入,只有在浏览该页面时才载入(或者预先载入下一页面)页面的具体内容. 2.可控V ...
- Android调用手机摄像头使用MediaRecorder录像并播放
最近在项目开发中需要调用系统的摄像头录像并播放. 在开发中遇到了两个问题,记录下: (1)开发过程中出现摄像头占用,启动失败,报错.但是我已经在onDestory()中关闭了资源. 报错原因:打开程序 ...
- nodemailer实现node发送邮件
作为一个前端er,利用node独立做一些全栈小项目,是很有效率和必要的. 需要: 做一个活动报名页面,用户填好的表单需要被工作人员收到,一想到把数据存数据库,还需要给工作人员写一个管理页面就觉得很麻烦 ...
- DA - 信息分析思路概要
要素 局部 --->整体 显性 --->隐性 表面 --->本质 割裂 --->联系 特殊 --->普遍 串行 --->并发 纵向 --->横向 单点 --- ...
- 学习使用 CSS3 制作网站面包屑导航效果
作为最重要的导航展示形式之一,面包屑导航能够让用户更清楚的知道他们所在页面的层次结构,让他们可以方便的导航到上一层页面.在本教程中,您将学习如何使用 CSS3 技术创建自己的面包屑导航效果. 效果演示 ...
- OGNL和ValueStack
OGNL简介 OGNL的全称是Object Graph Navigation Language,即对象导航图语言.它是一个开源项目,工作在视图层,其通过简单一致的表达式语言来读取合适者Java对象的属 ...
- java开源时间/日期库Joda-Time
任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.现在来看看 Joda Time,一 ...
- 关于ExtJs4的Grid带 查询 参数 分页(baseParams-->extraParams)
(园里很多文章,美名其曰 :ExtJs GridPanel+查询条件+分页. 但是加查询条件后点击下一页,查询条件失效,求你们自己测试明白再显摆 不要误导我这种新人.) ExtJs6发布了,ExtJ ...