在界面中拖入一个ChartControl控件,然后添加一个simplebutton控件。在simplebutton控件的click事件中加入如下代码:

private void button1_Click(object sender, EventArgs e)
        {
            //数据源
            chartControl1.DataSource = CreateChartData();
            //数据成员
            chartControl1.SeriesDataMember = "DWMC";
            //下面显示
            chartControl1.SeriesTemplate.ArgumentDataMember = "DWMC";

chartControl1.SeriesTemplate.ValueDataMembers.AddRange(new string[] {"Value"});

chartControl1.SeriesTemplate.View = new StackedBarSeriesView();
            chartControl1.Titles.Add(new ChartTitle());
            chartControl1.Titles[0].Text = "道路类型统计图";

}

private DataTable CreateChartData()
        {
           
            IWorkspaceFactory pWorkspaceFactory = new  ShapefileWorkspaceFactory();//此处打开的shp 格式的数据
            //IWorkspaceFactory pWorkspaceFactory = new OleDbFactory();
            IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(@"D:\我的文档\道路边线", 0);
            IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;

int ZCityRoadNum = 0, CCityRoadNum = 0, NRoadNum = 0, DXBGNum = 0, NullNum = 0, CDNum = 0;//城市道路(主干道)、城市道路(次干道)、内部道路、单线标准轨、空、车档

if (pFeatureWorkspace != null)
            {
                IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass("道路边线");
                IQueryFilter filter = new QueryFilterClass();
                filter.WhereClause = null;
                IFeatureCursor pFeatureCursor = pFeatureClass.Search(filter,false);
                IFeature pFeature = pFeatureCursor.NextFeature();
                string value = null;
                while (pFeature != null)
                {
                    int index = pFeatureClass.FindField("DWMC");
                    if (index != -1)
                    {
                        value = pFeature.get_Value(index).ToString();
                    }
                    if (value.Trim() == "城市道路(主干道)")
                    {
                        ZCityRoadNum++;
                    }
                    if (value.Trim() == "城市道路(次干道)")
                    {
                        CCityRoadNum++;
                    }
                    if (value.Trim() == "内部道路")
                    {
                        NRoadNum++;
                    }
                    if (value.Trim() == "单线标准轨")
                    {
                        DXBGNum++;
                    }
                    if (value.Trim() == "车挡")
                    {
                        CDNum++;
                    }
                    else
                    {
                        NullNum++;
                    }
                    pFeature = pFeatureCursor.NextFeature();
                }
            }

//建一个空表
            DataTable table = new DataTable("DLBX_DWMC");

//列
            table.Columns.Add("DWMC",typeof(string));

table.Columns.Add("Value",typeof(Decimal));

//行
            table.Rows.Add(new object[]{"城市主干道",ZCityRoadNum});
            table.Rows.Add(new object[]{"城市次干道",CCityRoadNum});
            table.Rows.Add(new object[]{"内部道路", NRoadNum });
            table.Rows.Add(new object[]{"单线标准轨",DXBGNum });
            table.Rows.Add(new object[]{"车挡",CDNum});
            table.Rows.Add(new object[]{"无",NullNum});
            return table;
         }
    }

devexpress中用ChartControl生成柱状图的更多相关文章

  1. highCharts+Struts2生成柱状图

    这篇文章主要结合Struts2+json+Highcharts实现动态数据的显示.为了节省时间,就不写数据库了.在action中用一个集合来模拟从数据库取到的数据.模拟数据为三个学生在不同时间成绩的变 ...

  2. 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图

    如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?

  3. html5生成柱状图(条形图)

    <html> <canvas id="a_canvas" width="1000" height="700">< ...

  4. 使用jfreechart生成柱状图、折线图、和饼状图

    JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计.下面我就详细介绍如 ...

  5. DevExpress中chartControl中实现统计图功能

    public partial class Form1 : DevExpress.XtraEditors.XtraForm { public Form1() { InitializeComponent( ...

  6. Openstack中用keypair生成和访问虚机的方法

    Openstack中用keypair生成和访问虚机的方法 标签:task   iso   perm   cte   生成   复制   vol   rsa   sla Openstack中用镜像文件生 ...

  7. [DevExpress]ChartControl之柱状图示例

    关键代码: using System; using System.Data; using System.Windows.Forms; using CSharpUtilHelpV2; using Dev ...

  8. DevExpress中ChartControl柱状图(Bar)用法

    我的数据 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 chartControl1.Series.Clear(); ...

  9. DevExpress 折线图和柱状图的绘制与数据绑定

    DevExpress 组件是一个非常丰富和强大的组件,适合各种可视化图形的绘制与展示,在数据分析展示中是个很有帮助的,网上也有很多关于这方面的文章,关于折线图或柱状图的画法,以下是自己在工作中接触到的 ...

随机推荐

  1. Google地图轨迹回放模拟

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. Xcode7 使用NSURLSession发送HTTP请求报错

    http://blog.csdn.net/chenyong05314/article/details/46721205

  3. css 实现评分效果

    css实现评分效果,其实是css sprites (css精灵)的延伸应用,效果的实现主要是由  background-position 属性移动图片位置.之前看到有前辈写过关于这方面的内容,在理解上 ...

  4. 读书笔记--<<会说话的代码>>

    三天看完一本书,说出来我都不信,不过我还真是史无前例的做到了, 现在分享一下我的收获,希望大家拍砖,共同讨论一下. <<会说话的代码>>一书是我们BJDP小组里的王洪亮老师的一 ...

  5. Apache Tiles 2.x 应用指南(转)

    转自:http://jaymsimusic.iteye.com/blog/1138906 Apache Tiles 2.x 应用指南 博客分类: Apache Tiles   Jakarta Tile ...

  6. Kurskal算法(克鲁斯卡尔算法)

    特点:适用于稀疏图,边比较少的图.如果顶点较少,且为稠密图,则用Prim算法.跟Prim算法的用途相同.时间复杂度为O(e*loge),其中e为边数. 代码: #include <stdio.h ...

  7. MySQL取得当前时间的函数是什么 格式化日期的函数是什么

    取得当前时间用 now() 就行.在数据库中格式化时间 用DATE_FORMA T(date, format) .根据格式串format 格式化日期或日期和时间值date,返回结果串. 可用DATE_ ...

  8. Android Handler之使用小结

    在android开发中,使用Handler处理各种消息机制. Handler用于处理和从队列MessageQueue中得到Message.一般我们要重写Handler的handleMessage(Me ...

  9. php 数组的几个小算法

    1. 判断a数组是否为b数组的子集 <?php $a = array('apple','orange'); $b = array('apple','banana','ornage'); $arr ...

  10. 第二章——Serializable的使用(跨进程使用和Intent的传递对象)

    一.Serializable类(JAVA本身具有的) 简介:Serializable是一个接口. 作用:是JAVA提供的序列化接口,实现序列化和反序列化的操作. 二.跨进程使用 1.事前准备 publ ...