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. Cocos2d-x 安装教程for mac(Xcode)

    cocos2d v3.x 版本出来后,从配置安装到创建项目都是命令行,下面简单说一下. 1. 下载地址    http://cn.cocos2d-x.org/download/ (虽然没有标明 for ...

  2. charset

    <meta charset="UTF-8" /> 这是html5的写法. <meta http-equiv=“content-type” content=“tex ...

  3. 【Chromium中文文档】Web安全研究

    转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/Extension_Sec ...

  4. jQuery中find()和filter()的区别

    filter(expr):筛选出与指定表达式匹配的元素的元素集合,其中expr可以是多个选择器的组合.是对自身集合元素的筛选. find()会在元素内寻找匹配元素,而filter()是筛选元素:是对它 ...

  5. Qt信号槽机制的实现(面试的感悟,猜测每一个类保存的一个信号和槽的二维表,实际使用函数指针 元对象 还有类型安全的检查设定等等)

    因为面试时问了我这道题,导致我想去了解信号槽到底是如何实现的,于是贴着顺序看了下源码,大致了解了整个框架.网上关于信号槽的文章也很多,但是大部分都是将如何应用的,这里我就写一下我所理解的如何实现吧, ...

  6. 黑马程序员_<<String类>>

    --------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1. String类 1.概述 String ...

  7. 【翻译】在Ext JS 5种使用ViewControllers

    原文:Using ViewControllers in Ext JS 5 简单介绍 在Ext JS 5中,在应用程序架构方面提供了一些令人兴奋的改进,如加入了ViewModels.MVVM以及view ...

  8. 如何在Objective-C中实现链式语法?

    在接触到开源项目 Masonry 后,里面的布局约束的链式写法让我颇感兴趣,就像下面这样: 1 2 3 4 5 6 7 8 UIEdgeInsets padding = UIEdgeInsetsMak ...

  9. 内容高度小于窗口高度时版权div固定在底部

    <!doctype html><html><head><meta charset="utf-8"><title>文档内容 ...

  10. wing 5.0 注册机

    输入License id 进入下一页获得request key ,输入request key 后点击生成,即可生成激活码,亲测可用 下载链接 密码:adwj