C#中用DataGridView绑定ArcGIS图层的属性表
2012-07-16 11:16
323 查看
这里以Oracle SDE中的数据为例。
首先,要建立与SDE 数据库的连接,这里不用AE自带的连接接口,使用.Net自带的OracleConnection。
这里的Connector是这样的:
这里的“Data Source”是安装SDE时的全局数据库名。“User ID”是SDE空间数据库名,“Password”是SDE空间数据库的密码。(就是Catalog里面那个Database Connection中的Spatial Connection的连接信息)。
空间数据库连接完毕后,就可以选择你要显示的数据了。这里用SQL语句来写,比如你想显示一个名叫Table的图层所有字段的信息,SQL语句可以这样写:
其实如果你这样写的话,数据加载到DataGridView上的时候会出错的,因为空间数据图层有个“Shape”字段,是二进制流,所以在DataGridView上显示不出来,并抛出异常。所以在显示数据之前,最好有选择的显示字段,如果字段名里面含有“.”将会抛出SQL语法错误。通常显示一些可编辑的字段:
好了,现在SQL语句写好了,再写下如下代码:
首先,要建立与SDE 数据库的连接,这里不用AE自带的连接接口,使用.Net自带的OracleConnection。
这里的Connector是这样的:
Connector = "Data Source=lsgeo;Persist Security Info=True;User ID=sde;Password=sde"
这里的“Data Source”是安装SDE时的全局数据库名。“User ID”是SDE空间数据库名,“Password”是SDE空间数据库的密码。(就是Catalog里面那个Database Connection中的Spatial Connection的连接信息)。
空间数据库连接完毕后,就可以选择你要显示的数据了。这里用SQL语句来写,比如你想显示一个名叫Table的图层所有字段的信息,SQL语句可以这样写:
string sql="select * from Table";
其实如果你这样写的话,数据加载到DataGridView上的时候会出错的,因为空间数据图层有个“Shape”字段,是二进制流,所以在DataGridView上显示不出来,并抛出异常。所以在显示数据之前,最好有选择的显示字段,如果字段名里面含有“.”将会抛出SQL语法错误。通常显示一些可编辑的字段:
string sql="select FID,Layer,Code from Table";//这里其实还可以用"where"语句进行有条件的选择
好了,现在SQL语句写好了,再写下如下代码:
//下面的代码把数据写入内存 OracleDataAdapter adapter = new OracleDataAdapter(sql, connection); DataSet dsTable = new DataSet(); adapter.Fill(dsTable);
最后,把数据绑定到DataGridView生:
1dataGridView1.DataSource = dsTable.Tables[0]; 2dataGridView1.Columns[0].ReadOnly = true; 3dataGridView1.Show(); 4//因为一般情况下,第一列是显示的FID所以不能被编辑 5//最后,用完之后记着:connection.close();
相关文章推荐
- C#中用DataGridView绑定ArcGIS图层的属性表
- c#DataGridView数据绑定示例——格式化单元格的内容(转)
- C# :DataGridView重新绑定时保持上次滚动位置
- c# 使用datagridview 浏览shp图层属性表(是否可以在这里直接修改呢?有待研究)
- C# winform DATAGRIDVIEW 数据绑定
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台八(C#开发)-图层分类标准定义
- C# DataGridView绑定数据源的几种常见方式
- c#.winform,datagridview,数组,绑定,字符串,字符串数组绑定datagridview显示,长度,显示数组内容
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台八(C#开发)-图层分类标准定义
- C# 中绑定数据到datagridviewcomboboxcolumn
- C#DataGridview中固定了列头,如何绑定数据源
- 关于C#中datagridview中的数据绑定
- C# 如何在一个Datagridview 的 某一个cell里面 绑定一个自定义的combobox
- c# DataGridView绑定DataTable对象之后总会多一行
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台八(C#开发)-图层分类标准定义
- C# Winform datagridview控件绑定数据源后列顺序混乱
- 关于C# DATAGRIDVIEW select 后绑定数据源顺序混乱的问题
- C#模糊查询绑定datagridview
- c# DataGridView绑定DataTable数据源并指定对应
- C#中使用BindingList 绑定DataGridView 可以实现动态绑定,优与List<T>集合的绑定