`
net_liu
  • 浏览: 232780 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DataGridView中显示shp图层数据

    博客分类:
  • GIS
J# 
阅读更多

1. 简单点查询

(1)引用

    

   	using ESRI.ArcGIS.Geodatabase;
	using ESRI.ArcGIS.DataSourcesFile;
	using ESRI.ArcGIS.esriSystem;
	using ESRI.ArcGIS.Geometry;

 
(2)ArcEngine的Licence认证

IAoInitialize m_AoInitialize = new AoInitializeClass();
     esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;
     licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngine);

 

(3)空间查询或属性查询

OpenFileDialog ofdDBF = new OpenFileDialog();
ofdDBF.Filter = "属性表文件(*.dbf)|*.dbf";
if (ofdDBF.ShowDialog() == DialogResult.OK)
{
    string OpenFileName = ofdDBF.FileName.Trim();
    string dbfFilePath = Path.GetDirectoryName(OpenFileName);
    string dbfFileName = Path.GetFileName(OpenFileName);

    IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();
    IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(dbfFilePath, 0);
    IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
    if (pFeatureWorkspace != null)
    {
        IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(dbfFileName);
        if (pFeatureClass != null)
        {
            DataTable dt = new DataTable();
            DataColumn dc = null;

            for (int i = 0; i < pFeatureClass.Fields.FieldCount; i++)
            {
                dc = new DataColumn(pFeatureClass.Fields.get_Field(i).Name);
                dt.Columns.Add(dc);
            }

            IFeatureCursor pFeatureCursor = pFeatureClass.Search(null, false);
            IFeature pFeature = pFeatureCursor.NextFeature();
            DataRow dr = null;
            while (pFeature != null)
            {
                dr = dt.NewRow();
                for (int j = 0; j < pFeatureClass.Fields.FieldCount; j++)
                {
                    if (pFeatureClass.FindField(pFeatureClass.ShapeFieldName) == j)
                    {
                        dr[j] = pFeatureClass.ShapeType.ToString();
                    }
                    else
                    {
                        dr[j] = pFeature.get_Value(j).ToString();
                    }
                }
                dt.Rows.Add(dr);
                pFeature = pFeatureCursor.NextFeature();
            }
            dataGridView1.DataSource = dt;
        }
    }
}

 

分享到:
评论

相关推荐

    在DataGridView中浏览shp图层的属性表

    在这个场景中,开发者想要在Windows Forms应用程序中的DataGridView控件展示ESRI Shapefile(.shp)图层的属性表。这个过程涉及到对GIS数据的读取以及与Windows Forms控件的数据绑定。 首先,`DataGridView`是...

    C#中读取sql server的数据,并在datagridview中显示

    最后一步是在Windows Forms应用程序中常用的`DataGridView`控件中显示数据。`DataGridView`提供了丰富的功能来展示和编辑数据,非常适合用于数据表格的可视化展示: ```csharp this.dataGridView1.DataSource = dt;...

    C # 读取Excel 中的数据然后在DataGridView中显示

    将数据显示在 DataGridView 中可以使用 DataGridView 控件的 DataSource 和 DataMember 属性。下面是将数据显示在 DataGridView 中的 C# 代码: ```csharp dataGridView1.DataMember = "[Sheet1$]"; dataGridView1....

    C#从Excel中提取数据到DataGridView中显示出来

    在C#编程中,将Excel数据提取并显示到DataGridView控件是常见的数据处理任务,尤其在数据可视化和分析中十分常见。以下是一个详细的步骤指南,介绍如何实现这一过程。 首先,你需要引用`Microsoft.Office.Interop....

    C#winform datagridview 中显示HTML内容

    在C# WinForm开发中,`DataGridView`是一个常用的控件,用于展示表格数据。然而,标准的`DataGridViewTextBoxColumn`仅能支持基本的文本显示,对于富文本格式如HTML,它并不能直接处理。本教程将深入探讨如何在`...

    c# 如何删除datagridview中数据并删除数据库中的数据

    删除操作完成后,为了使DataGridView中的数据显示最新状态,需要重新绑定数据源。通常,这涉及到以下几个步骤: 1. **清除现有数据**:可以使用`dataGridView1.Rows.Clear()`来清空DataGridView中的所有行。 2. **...

    图片存储到数据库保存二进制文件,并在DATAGRIDVIEW中显示出来

    在C#编程中,将图片存储到数据库并以二进制数据的形式保存,以及在DataGridView控件中显示这些图片,是一项常见的任务。这种操作在处理大量图像数据时尤其有用,例如在开发一个需要展示产品图片的电子商务应用或者...

    DataGridView中数据存入数据库方法

    在 .NET Framework 中,DataGridView 控件是数据显示和编辑的重要组件。然而,很多开发者在使用 DataGridView 时,经常遇到数据存储和更新的问题。下面,我们将讨论如何将 DataGridView 中的数据存储到数据库中,并...

    关于在c#中如何解析XML文件,并在DataGridView中显示

    在C#编程环境中,解析XML文件并将其内容展示在DataGridView控件中是一项常见的任务,尤其在数据处理和数据显示的应用中。Visual Studio 2008是C#开发的经典平台,它提供了丰富的工具和类库来支持这样的操作。下面将...

    DataGridView中直接保存修改的数据

    在.NET框架中,`DataGridView`控件是用于显示和编辑表格数据的强大工具。它允许用户在界面上直接查看和修改数据,这对于数据密集型应用程序来说非常有用。标题“DataGridView中直接保存修改的数据”指的是如何在用户...

    C#DataGridView分页显示功能实现

    在C# WinForm开发中,`DataGridView`是一个常用的控件,用于展示数据表格。当数据量较大时,一次性加载所有数据可能导致性能问题,因此需要实现分页显示功能。本篇文章将详细讲解如何在C# WinForm应用中实现`...

    DataGridView 控件显示树结构

    在Windows Forms应用开发中,`DataGridView`控件通常用于展示二维表格数据,但有时我们可能需要展示层次化的数据,也就是树形结构。本教程将详细讲解如何在Visual Studio 2012中,使用C#语言和WinForms来实现一个在`...

    C#winform使用泛型集合存储数据使用DataGridView显示和删除数据

    本篇将详细讲解如何利用泛型集合`List&lt;T&gt;`存储数据,并在`DataGridView`中显示和删除这些数据。 首先,理解`List&lt;T&gt;`。泛型集合`List&lt;T&gt;`继承自`Collection&lt;T&gt;`,它实现了`IList&lt;T&gt;`、`ICollection&lt;T&gt;`和`...

    Visual C++源代码 142 如何在DataGridView中添加数据列

    Visual C++源代码 142 如何在DataGridView中添加数据列Visual C++源代码 142 如何在DataGridView中添加数据列Visual C++源代码 142 如何在DataGridView中添加数据列Visual C++源代码 142 如何在DataGridView中添加...

    .net中DataGridView异步加载大批量数据

    多线程异步加载大批量数据到Datagridview中,没次加载1000条数据。 引用DLL,调用方法: string sql = "select top {0} * from {2} where FItemID not in (select top {1} FItemID from {2})"; string tbName = ...

    # 数据库中性别数据为1 0,在dataGridView需要显示为男 女.txt

    C# 数据库中性别数据为1 0,在dataGridView需要显示为男 女.txt

    C#中怎么实现datagridview数据与文本框数据同步

    实现DataGridView数据与TextBox数据同步的核心思路是在DataGridView中选中某一行或某一单元格时,获取该行或单元格的数据,并将其显示在相应的TextBox中。 ### 三、实现步骤详解 #### 3.1 使用`CellClick`事件处理...

    c#实现dataGridview前显示行号

    在C#开发中,使用`DataGridView`控件时,经常需要在数据网格视图的左侧显示行号。然而,默认情况下,`DataGridView`控件并不会自动显示行号,这需要我们通过自定义的方式来实现这一功能。下面将详细介绍如何在C#中...

    DataGridView 显示数组中的元素

    DataGridView控件是Windows Forms应用程序中的一种数据网格控件,用于显示和编辑数据。它可以绑定到各种数据源,例如数据库、数组、数据表等。DataGridView控件提供了许多功能,例如数据排序、过滤、分页等。 如何...

Global site tag (gtag.js) - Google Analytics