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. css 清除浮动 兼容IE+, FF

    上代码: <!doctype html> <html> <head> <meta charset="utf-8"> <titl ...

  2. SQL Server 触发器的修改与删除

    修改: alter trigger trigger_name on ..... as .....   #把create 修成  alter 就可以了. 删除: drop trigger trigger ...

  3. WKWebView与sessionID的因果

    问题描述:在webView中点击下载按钮后,下载成功文件,然后再去点击上传文件,这时候服务器会报用户未登录错误. 暂时分析的原因是WKWebView在下载后cookie会保存服务器产生的session ...

  4. 程序猿的量化交易之路(20)--Cointrader之Assert实体(8)

    转载需说明出处:http://blog.csdn.net/minimicall, http://cloudtrade.top 不论什么可交易的都能够称之为Assert,资产.其类代码例如以下: pac ...

  5. http 双向通信之port映射

    新产品开发了近2-3个月,给到客户做试用的时候,发现一个开发这么久从未考虑到的一个通信问题,mark下,下次开发同类产品的时候长点记性了. 产品由client与服务端两部分组成,client与服务端须 ...

  6. Tomcat配置一个ip绑定多个域名

    在网上找了半天也没找到相关的资料,都说的太含糊. 本人对tomcat下配置 一ip对多域名的方法具体例如以下,按以下配置一定能成功,经过測试了. <Host name="localho ...

  7. asp.net DropDownList实现ToolTip功能

    在绑定DropDownList控件时,可能出现绑定显示的文本过长以至于超过控件长度的内容看不到,这时候就需要使用ToolTip完成其功能,即鼠标放到相应选项后就可显示其完成内容. 首先,在页面引入jQ ...

  8. ASP.NET MVC Controller向View传值方式总结

    Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...

  9. js判断微信内置浏览器

    做了一个h5页面来下载app,但如果页面是用微信扫一扫打开的,点击下载按钮下载不了app,原因是微信内置浏览器屏蔽了下载链接.所以增加了检测,如果用户是用微信浏览器打开的,则提示用户使用浏览器打开.那 ...

  10. codeforces 633G. Yash And Trees dfs序+线段树+bitset

    题目链接 G. Yash And Trees time limit per test 4 seconds memory limit per test 512 megabytes input stand ...