在界面中拖入一个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. [Leetcode][Python]50: Pow(x, n)

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 50: Pow(x, n)https://leetcode.com/probl ...

  2. C与C++动态分配二维数组

    C: C中使用函数malloc和free两个函数. //动态分配M*N维 int **a=(int **)malloc(sizeof(int*)*M); ;i<M;i++) a[i]=(int ...

  3. UML_静态图

    类图        类图是描述类,接口,协作以及它们之间关系的图,用来显示系统中各个类的静态结构.类图是定义其他图的基础,在类图的基础上,可以使用状态图,协作图,组件图和配置图等进一步描述系统其他方面 ...

  4. 安装 SQL Server 2008 R2 的硬件和软件要求(转)

    以下各部分列出了安装和运行 SQL Server 2008 R2 的最低硬件和软件要求.有关 SharePoint 集成模式下的 Analysis Services 的要求的详细信息,请参阅硬件和软件 ...

  5. android中控件公用产生的冲突的解决办法

    1.ViewPager嵌套HorizontalScrollView滑动冲突的解决办法,重写ViewPager public class ZdyViewPage extends ViewPager { ...

  6. Error:/bin/bash: /bin/java: No such file or directory

    描述:在Hadoop运行Job的时候,可能会报这样的一个错误“/bin/bash: /bin/java: No such file or directory”,那是因可能有些地方用到了/bin/jav ...

  7. (转)flash的Socket通讯沙箱和安全策略问题

    一.沙箱和安全策略问题 1.此问题发生在连接时,准确地说是连接前,分别两种情况: 1.本地播放 本地播放时,默认情况下Flash Player将不允许swf访问任何网络. 访问http://www.m ...

  8. 谈谈 css 的各种居中——读编写高质量代码有感

    css 的居中有水平居中和垂直居中,这两种居中又分为行内元素居中和块级元素居中,不同的居中用不同方法. 水平居中 1.行内元素水平居中(文本,图片) 给父层设置 text-align:center; ...

  9. Oracle利用过程procedure块实现银行转账

    -- create table account( id ) not null, name ), ,2), constraint a_pk primary key(id) ); --历史表 select ...

  10. HDU 1004 - Let the Balloon Rise(map 用法样例)

    Problem Description Contest time again! How excited it is to see balloons floating around. But to te ...