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. Table的分割线偏移量设置 及其 UIEdgeInset详解

    -(void)viewDidLayoutSubviews { if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)] ...

  2. windows8设置环境变量

    win8,win8.1如何配置java的环境变量 工具/原料   win8,win8.1 方法/步骤   在你的计算机上右击,选择其中的属性就可以了.如下图所示. 接下来,作出如下图所示的选择. 这个 ...

  3. erlang supervisor说明

    Supervisor Behaviour是一个用来实现一个supervisor进程来监控其他子进程的模块 子进程可以是另一个supervisor,也可以是一个worker进程. worker进程一般使 ...

  4. 通过iframe在其父窗口中打开隐藏元素

    先上代码 $(".login-box,#dl,.top_01 a:eq(1)").click(function(){ if(self!=top){ parent.$("# ...

  5. 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统

    上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...

  6. 227. Basic Calculator

    1. 问题描述 Implement a basic calculator to evaluate a simple expression string. The expression string c ...

  7. JavaSE思维导图(四)

  8. English - therefore,so,hence,then,accordingly,thus用法解析

    这几个词的区别大致可从以下几方面去看: 1.therefore adv.因此, 所以=for that reason=consequently常用于连接两个并列分句,其前加“and”或分号“:”.He ...

  9. MATLAB中imshow()和image()

    MATLAB中imshow()和image(): IMSHOW Display image in Handle Graphics figure. IMSHOW(I) displays the gray ...

  10. 几个SQL

    select sum(`value`) from testtable where value != 'error' AND type ='b' in (select DISTINCT(type) fr ...