1. 程式人生 > >AE屬性表操作

AE屬性表操作


實現的操作包括:1、開啟屬性表;2、編輯屬性表;3、增加屬性列;4、資料排序;5、欄位計算……

嗯,實現的功能目前就這些吧,後續還會繼續跟進,還望大家多多關注……下面就分功能說說我的實現方式吧……

1、開啟屬性表

屬性表的開啟是在TOC的右鍵選單中開啟的,首先新建一個類OpenAttribute,繼承BaseCommand,OpenAttribute類的原始碼如下:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using ESRI.ArcGIS.ADF.BaseClasses;  
  5. using ESRI.ArcGIS.Controls;  
  6. namespace MapDemo  
  7. {  
  8.     publicsealedclass OpenAttribute : BaseCommand  
  9.     {  
  10.         IMapControl3 m_mapControl;  
  11.         AxMapControl _MapControl;  
  12.         public OpenAttribute(AxMapControl pMapControl)  
  13.         {  
  14.             base.m_caption = "檢視屬性表"
    ;  
  15.             _MapControl = pMapControl;  
  16.         }  
  17.         publicoverridevoid OnClick()  
  18.         {  
  19.             formTable formtable = new formTable(_MapControl, m_mapControl);  
  20.             formtable.Show();  
  21.         }  
  22.         publicoverridevoid OnCreate(object hook)  
  23.         {  
  24.             m_mapControl = (IMapControl3)hook;  
  25.         }  
  26.     }  
  27. }  


解釋一下,AxMapControl引數是為了後面屬性表操作時重新整理檢視的。接著在toc右鍵事件中新增程式碼:

  1. //檢視屬性表
  2.             m_menuLayer.AddItem(new OpenAttribute(mapMain), -1, 2, false, esriCommandStyles.esriCommandStyleIconAndText);  


如此這般,這般如此,我們期待的屬性表就出現了,效果呢比較醜陋,莫怪莫怪……


屬性表開啟之後呢,大家就看到了有關屬性表操作的一些功能了,不過呢,屬性表的大開的工作還尚未完成。接下來呢,新增如下引用:

  1. using ESRI.ArcGIS.Carto;  
  2. using ESRI.ArcGIS.Controls;  
  3. using ESRI.ArcGIS.Geodatabase;  


完了之後,定義一下變數:

  1. AxMapControl _MapControl;  
  2.         IMapControl3 m_mapControl;  
  3.         public DataTable dt2;          
  4.         ITableSort pTs;//處理排序
  5.         bool up = true;  
  6.         int row_index = 0;  
  7.         int col_index = 0;  
  8.         publicstring strAddField = "";  
  9.         RowAndCol[] pRowAndCol = new RowAndCol[10000];  
  10.         int count = 0;  


這個視窗的引數為:

  1. ublic formTable(AxMapControl pMapControl,IMapControl3 pMapCtrl)  
  2.         {  
  3.             InitializeComponent();  
  4.             _MapControl = pMapControl;  
  5.             m_mapControl = pMapCtrl;  
  6.         }  


這樣,下面就可以顯示屬性了,在form_load事件中寫如下程式碼:

  1. privatevoid formTable_Load(object sender, EventArgs e)  
  2.         {  
  3.             TableShow();  
  4.         }  


此處,呼叫了TableShow方法,TableShow的程式碼如下:

  1. publicvoid TableShow()  
  2.         {  
  3.             ILayer pLayer = (ILayer)m_mapControl.CustomProperty;  
  4.             IFeatureLayer pFLayer = pLayer as IFeatureLayer;  
  5.             IFeatureClass pFeatureClass = pFLayer.FeatureClass;  
  6.             if (pFeatureClass == nullreturn;  
  7.             DataTable dt = new DataTable();  
  8. 相關推薦

    AE屬性操作

    實現的操作包括:1、開啟屬性表;2、編輯屬性表;3、增加屬性列;4、資料排序;5、欄位計算…… 嗯,實現的功能目前就這些吧,後續還會繼續跟進,還望大家多多關注……下面就分功能說說我的實現方式吧…… 1、開啟屬性表 屬性表的開啟是在TOC的

    AE屬性操作(1)

    今天給大家分享一個AE屬性表操作的程式原始碼,希望對有需要的筒子一定的幫助,小弟倍感榮幸! 好了,廢話少說!首先說說實現了哪些操作吧……實現的操作包括:1、開啟屬性表;2、編輯屬性表;3、增加屬性列;4、資料排序;5、欄位計算……嗯,實現的功能目前就這些吧,後續還會繼續跟

    AE二次開發中幾個功能速成歸納(符號設計器、創建要素、圖形編輯、屬性編輯、緩沖區分析)

    文件夾路徑 及其 基本框架 option 開啟 rgs database ets remove /* * 實習課上講進階功能所用文檔,因為趕時間從網上抄抄改改,湊合能用,記錄一下以備個人後用。 * * --------------------------------

    10-hibernate單操作-組件屬性

    http -h idt wid 文件 技術 set string alt 組件屬性: 實體類中某個屬性屬於用戶自定義的類的對象,比如在實體類中某個屬性是自定義類的對象: 這個Address是一個用戶自定義類。 該自定義類Address定義如下: //地址類 public

    ArcGIS操作小技巧(一)之屬性中顯示出小數點前面的 0

    當你開啟ArcGIS屬性表,對向量進行面積或其他計算時,發現如下圖所示問題,兄弟莫方...........,接下來用兩種方法保證你滿意。      主要方法: 一、設定系統時間。 二、欄位屬性設定。 具體操作: 一、(1) 點選系統時間設定(環境

    MySQL資料分析-(12)操作補充:欄位屬性

    大家好,我是jacky朱元祿,很高興繼續跟大家學習MySQL資料分析實戰,今天我們分享的主題是表操作補充之欄位屬性,依照慣例第一部分,jacky先跟大家分享本課時的學習邏輯 (一)學習邏輯

    AE二次開發-判斷柵格圖層是否存在屬性,獲取柵格欄位的唯一值

    獲取柵格欄位的唯一值: /// <summary> /// 獲取柵格欄位的唯一值 /// </summary>

    (十二)Hibernate中的多操作(1):單向多對一

    art 保存 int gen round t對象 情況 映射文件 拋出異常 由“多”方可知“一”方的信息,比如多個員工使用同一棟公寓,員工可以知道公寓的信息,而公寓無法知道員工的信息。 案例一: pojo類 public class Department {

    javascript對屬性操作

    tel title 設置 document div utf-8 script body ttr <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g

    (十四)Hibernate中的多操作(4):單向一對一

    odin utf-8 lds () clas string 方式 rdb style 案例一: 註解方式實現一對一 UserBean.java package bean; import java.io.Serializable; import javax.pers

    hibernate_05_單操作_對象類型

    exception doctype @override 1.0 服務註冊 dial 照片 dia [] 本篇使用hibernate輸出一個對象(圖片) 先寫一個java類 1 package com.imooc.hibernate; 2 3 import java

    jQuery07源碼 (3803 , 4299) attr() prop() val() addClass()等 : 對元素屬性操作

    tex default des selected XML can 正則 jquer bin var nodeHook, boolHook, rclass = /[\t\r\n\f]/g, rreturn = /\r/g, rfocusable =

    jquery13 attr() prop() val() addClass()等 : 對元素屬性操作

    controls bin one control add only script jquery checked <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Typ

    【JAVAEE學習筆記】hibernate03:多操作,級聯練習:添加聯系人

    row tac 默認值 rac user except pro intra com 一、一對多|多對一 1、關系表達  表中的表達      實體中的表達      orm元數據中表達     一對多 <!-- 集合,一對多關系,在配置文件中配置 -

    JS屬性操作需要註意哪些事項?

    obj 行間樣式 fire 修改 復合 路徑 ner inner 十六進制 屬性操作: 屬性讀操作(獲取屬性值): obj.屬性名 屬性寫操作(設置修改屬性值): obj.屬性名 = 屬性值; 註意問題: 1. class不叫class,叫className

    帶頭結點的單鏈操作說明

    內存 arr 位置 not space n) end front tin 一、單鏈表簡介 相對於以數組為代表的“順序表”而言,單鏈表雖然存儲密度比較低(因為數據域才是我們真正需要的,指針域只是用來索引,我們並不真正需要它),但是卻具有靈活分配存儲空間、方便數據元素的刪除、方

    hive信息查詢:查看結構、操作等--轉

    cal ica class depend yun sel getting 結構 dconf 原文地址:http://www.aboutyun.com/forum.PHP?mod=viewthread&tid=8590&highlight=Hive 問題導讀

    數據庫建操作

    esc primary table 語句 登錄 char 個數 src log 數據庫建<( ̄3 ̄)> 表語句 使用cmd 登錄到mysq 數據庫 show databases 首先創建一個數據庫 create database perso

    數據庫操作練習

    生產 value goods alter log ins sco pre cnblogs /* 1、創建成績表,字段包括:學生姓名,語文成績,數學成績,英語成績 向表中插入多條數據; 查詢: (1) 查詢所有學生的數學成績和總

    OpenCV+VS2013 屬性配置

    tracking debugger ann environ 介紹 num == dll 計算機 簡單介紹 計算機視覺任務越來越多的依賴著名的開源計算機視覺庫OpenCV。OpenCV 2.0 包括了一系列精心設計數據結構和經過優化的視覺算法。大家能夠短