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 HZZYKJ.IDRMIS.CORE;
using SuperMap.Mapping;
using SuperMap.UI;
using SuperMap.Data;
using HZZYKJ.IDRMIS.EDIM.Tools;
using HZZYKJ.IDRMIS.EDIM.toolClass; namespace HZZYKJ.IDRMIS.EDIM
{
public partial class AttributeTreeForm : Form
{
private MapControl mapControl;
private List<Layer> layers = new List<Layer>();
public static AttributeTreeForm _AttributeTreeForm = null; public AttributeTreeForm()
{
InitializeComponent();
mapControl = AppContext.MapControl as MapControl;
} private void AttributeTreeForm_Load(object sender, EventArgs e)
{
Layers layers = mapControl.Map.Layers;
foreach (Layer item in layers)
{
this.layers.Add(item); }
Layer layer = this.layers[LayerForm._layerform.comboBox1.SelectedIndex];
Selection selection = layer.Selection;
Recordset recordset = selection.ToRecordset(); TreeNode TN_Layer_Father = new TreeNode(layer.Name);
treeView1.Nodes.Add(TN_Layer_Father); for (int i = ; i < recordset.RecordCount; i++)
{
string name = recordset.GetFieldValue().ToString();
TreeNode TN_Fild_Child = new TreeNode(name);
TN_Layer_Father.Nodes.Add(TN_Fild_Child);
recordset.MoveNext();
}
this.treeView1.SelectedNode = this.treeView1.Nodes[].Nodes[];
treeView1.ExpandAll(); } private void AttributeTreeForm_FormClosed(object sender, FormClosedEventArgs e)
{
_AttributeTreeForm = null;
} private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{ } private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
BindingList<FieldInfoName> GridBindingList = new BindingList<FieldInfoName>();
// List<FieldInfoName> GridList = new List<FieldInfoName>();
if (this.treeView1.SelectedNode.Parent != null)
{
Layers layers = mapControl.Map.Layers;
foreach (Layer item in layers)
{
this.layers.Add(item); }
Layer layer = this.layers[LayerForm._layerform.comboBox1.SelectedIndex];
Selection selection = layer.Selection;
Recordset recordset = selection.ToRecordset(); FieldInfos fieldinfos = recordset.GetFieldInfos(); for (int i = ; i < recordset.RecordCount; i++)
{
if (this.treeView1.SelectedNode.Text == recordset.GetFieldValue().ToString())
{
for (int j = ; j < recordset.FieldCount; j++)
{ if (this.checkBox1.Checked == false)
{
string x = fieldinfos[j].Name;
string y = null;
if (recordset.GetFieldValue(j).ToString() == null)
{
y = null;
}
else
{
y = recordset.GetFieldValue(j).ToString();//总是出错
}
FieldInfoName FIN = new FieldInfoName(x, y);
GridBindingList.Add(FIN);
}
else
{
if (fieldinfos[j].IsSystemField == false)
{
string x = fieldinfos[j].Name;
string y = recordset.GetFieldValue(j).ToString();
FieldInfoName FIN = new FieldInfoName(x, y);
GridBindingList.Add(FIN);
}
}
}
}
recordset.MoveNext();
} this.dataGridView1.DataSource = GridBindingList;
}
else
{
MessageBox.Show("请选择子节点");
} } private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{ } private void btn_Ok_Click(object sender, EventArgs e)
{
Layers layers = mapControl.Map.Layers;
foreach (Layer item in layers)
{
this.layers.Add(item); }
Layer layer = this.layers[LayerForm._layerform.comboBox1.SelectedIndex];
Selection selection = layer.Selection;
Recordset recordset = selection.ToRecordset();
FieldInfos fieldinfos = recordset.GetFieldInfos(); for (int i = ; i < recordset.RecordCount; i++)
{
if (this.treeView1.SelectedNode.Text == recordset.GetFieldValue().ToString())
{
for (int j = ; j < recordset.FieldCount; j++)
{
if (fieldinfos[j].IsSystemField == false)
{
recordset.Edit();
string a = this.dataGridView1.Rows[j].Cells[].Value.ToString();
recordset.SetFieldValue(j, a);
recordset.Update();
}
}
}
recordset.MoveNext();
} MessageBox.Show("属性值修改成功");
} private void checkBox1_CheckedChanged(object sender, EventArgs e)
{ } }
}

superMap Object 属性查看的一点代码的更多相关文章

  1. 调试查看CLR运行代码

    SOS (Son of Strike)调试扩展可以让我们在调试过程中查看CLR运行代码.SOS.dll随.NET一起安装,对于.NET 4.0来说,SOS.dll的所在位置是:C:\Windows\M ...

  2. 浅析VS2010反汇编 VS 反汇编方法及常用汇编指令介绍 VS2015使用技巧 调试-反汇编 查看C语言代码对应的汇编代码

    浅析VS2010反汇编 2015年07月25日 21:53:11 阅读数:4374 第一篇 1. 如何进行反汇编 在调试的环境下,我们可以很方便地通过反汇编窗口查看程序生成的反汇编信息.如下图所示. ...

  3. 理解JAVA - 面向对象(object) - 属性,方法

    理解JAVA - 面向对象(object) - 属性,方法 多态的体现:    向上造型,父类接收子类对象:向上造型:    从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都 ...

  4. OD提示 "为了执行系统不支持的动作, OllyICE 在这个被调试的程序中注入了一点代码, 但是经过5秒仍未收到响应..." 解决办法

    别的OD就可以,我自己整合过的一个很顺手的OD就是不行,最后找到了解决办法: 转自:http://bbs.pediy.com/showthread.PHP?t=97629 -------------- ...

  5. JavaWeb之商品查看后历史记录代码实现

    JavaWeb之商品查看后历史记录代码实现全过程解析. 历史记录思路图: 假设已经访问了商品 :1-2-3 那么历史记录就是1-2-3,如果访问了商品8,那么历史记录就是:8-1-2-3,如果再次访问 ...

  6. numpy数组属性查看及断言

    numpy数组属性查看:类型.尺寸.形状.维度   import numpy as np a1 = np.array([1,2,3,4],dtype=np.complex128) print(a1) ...

  7. android动画(1)各种动画属性表,简单代码,xml配置

    1.动画的属性表 1.1 常用属性 它们可以通过代码setXXX,getXXX,也可在xml中配置. 属性[类型] 功能 备注 Duration[long] 属性为动画持续时间 时间以毫秒为单位 fi ...

  8. 利用performance属性查看网页性能

    一般我们可以通过浏览器的调试工具-网络面板,或者代理工具查看网页加载过程中的各个阶段的耗时.而利用window.performance属性则可以获得更为精确的原始数据,以毫秒为单位,精确到微秒. pe ...

  9. object 属性 对象的继承 (原型, call,apply)

    object 为一切对象的基类! 属性:constructor: 对创建对象的函数的引用Prototype: 原型(类型) hasOwnProperty(property):判断对象是否有某个特定的属 ...

随机推荐

  1. AutoIt 函数学习之----WinWaitActive

    WinWaitActive函数 暂停脚本的执行直至指定窗口被激活(成为活动状态)为止. WinWaitActive ( "窗口标题"[, "窗口文本"[, 超时 ...

  2. UTF-8、UTF-16、UTF-32编码的相互转换

    最近在考虑写一个可以跨平台的通用字符串类,首先需要搞定的就是编码转换问题. vs默认保存代码文件,使用的是本地code(中文即GBK,日文即Shift-JIS),也可以使用带BOM的UTF-8.gcc ...

  3. Unix/Linux环境C编程入门教程(16) LinuxMint CCPP开发环境搭建

    1. Linux Mint由Linux Mint Team团队于2006年开始发行,是一份基于 这个时候linuxmint安装完成,C/C++开发环境也配置完成,希望大家认真实践!

  4. hdu5461 Largest Point(沈阳网赛)

    Largest Point Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...

  5. 推荐两个不错的CAD二次开发(.Net)手册

    推荐两个不错的CAD二次开发(.Net)手册 http://www.mjtd.com/helpcenter/netguide/index.html http://www.ceesky.com/book ...

  6. Node.cloneNode()方法

    概述 返回调用该方法的节点的一个副本. 语法 var dupNode = node.cloneNode(deep);node将要被克隆的节点dupNode克隆生成的副本节点deep 可选是否采用深度克 ...

  7. 设计模式之---模板方法template method的使用

    在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的.Template Method ...

  8. B - 确定比赛名次

    B - 确定比赛名次 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit S ...

  9. CI(-)框架结构

    一 CI 是什么 CodeIgniter is an Application Development Framework - a toolkit - for people who build web ...

  10. 使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写

    最近项目使用symfony框架,这个框架对数据库的操作在这个团队里使用的是ORM进行操作,说实话使用ORM的开发效率和运行效率不一定高多少,到是它的实体命名和现有数据库字段的命名不太一样,ORM实体属 ...