在界面中拖入一个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. Java服务器热部署的实现原理

    转自:http://blog.csdn.net/chenjie19891104/article/details/42807959 在web应用开发或者游戏服务器开发的过程中,我们时时刻刻都在使用热部署 ...

  2. redhat 安装virtualbox

    1.在官网下载virtual for linux 包,链接地址:https://www.virtualbox.org/wiki/Linux_Downloads.根据需要下载对应镜像. 2.由于下载的包 ...

  3. Sending HTML Form Data

    public Task<HttpResponseMessage> PostFormData(){ // Check if the request contains multipart/fo ...

  4. HDU 4081 MST

    这道题在LRJ的书上看到,今天回过头来继续看这题,发现很多东西都已经明白了. 题意:有N个城市,每个城市有一个坐标和人口. 现在要建一些边使得他们都联通,花费就是这些边的长度,然后有一条边可以免费.问 ...

  5. 20个热门jQuery的提示和技巧

    以下是一些非常有用的jQuery提示和所有jQuery的开发技巧. 1.优化性能复杂的选择 查询DOM中的一个子集,使用复杂的选择时,大幅提高了性能: var subset = $("&qu ...

  6. 优先队列(priorityqueue)

    队列是先进先出的线性表,顾名思义,优先队列则是元素有优先级的队列,出列的顺序由元素的优先级决定.从优先队列中删除元素是根据优先权的高低次序,而不是元素进入队列的次序.优先队列的典型应用是机器调度等. ...

  7. R-plot

    颜色.图例和线 在散点图中添加信息.图例以及回归线. 模拟数据 #模拟数据 dat <- data.frame(X = runif(100,-2,2),T1 = gl(n=4,k=25,labe ...

  8. UIButton 设置字体大小

    btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...

  9. MVC 传参

    介绍一些View中常用的东西 1:传递参数: 1):路由协议中传递参数: 1):eg:比如是这样类似的路由协议,那么我们在传递参数的时候,就要传递 id过去,当然如果,ABCD= UrlParamet ...

  10. 蜗牛爱课 -- iOS 设置UIButton的字体的大小、显示位置、大小

    /设置按钮上的自体的大小 //[btn setFont: [UIFont systemFontSize: 14.0]];    //这种可以用来设置字体的大小,但是可能会在将来的SDK版本中去除改方法 ...