DevExpress chartControl 数据绑定

chartControl 数据绑定

这里介绍两种绑定方式ChartControl直接绑定以及ChartControl里的series绑定

ChartControl直接绑定

通过chartControl的DataSource属性直接bingdings,DateSouce可以是实体list或者dataTable,按个人需求添加,这里用dataTable。
这里用数据库access做例程, 数据表结构比较简单,数据库名Database.mdb,文件置于程序根目录下,如下:
在这里插入图片描述
dataSet初始化代码,

        private string txtConn ;
        private OleDbConnection dConnection;
        private  DataSet dSet;
        private  OleDbDataAdapter dAdapter;
        private void InitializeOledObject()
        {
            txtConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\\Database.mdb";
            dConnection = new OleDbConnection(txtConn);
            string txtCommand = "SELECT * FROM DataRecord order by time asc";
            dAdapter = new OleDbDataAdapter(txtCommand, dConnection);
            OleDbCommandBuilder combuilder = new OleDbCommandBuilder(dAdapter);
            combuilder.QuotePrefix = "[";//此两句是为了排除执行Update命令时提示“insert into语法错误”
            combuilder.QuoteSuffix = "]";
            dAdapter.InsertCommand = combuilder.GetInsertCommand();
            dAdapter.UpdateCommand = combuilder.GetUpdateCommand();
            dAdapter.DeleteCommand = combuilder.GetDeleteCommand();
            dSet = new DataSet();
            dAdapter.Fill(dSet);
        }

chart控件运行时添加,代码如下

			DevExpress.XtraCharts.ChartControl chartControl1 = new DevExpress.XtraCharts.ChartControl();    
		  	DevExpress.XtraCharts.SplineSeriesView splineSeriesView1 = new DevExpress.XtraCharts.SplineSeriesView();
            chartControl1.BeginInit();
            chartControl1.Dock = System.Windows.Forms.DockStyle.Fill;
            chartControl1.Location = new Point(0, 0);
            chartControl1.Parent = this;
            //手动生成Diagram,因为需要设置时间x坐标轴聚合单位,及开启缩放支持
            DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram();  
            xyDiagram1.AxisX.DateTimeScaleOptions.MeasureUnit = DevExpress.XtraCharts.DateTimeMeasureUnit.Second;
            xyDiagram1.AxisX.DateTimeScaleOptions.ScaleMode = DevExpress.XtraCharts.ScaleMode.Manual;
            xyDiagram1.EnableAxisXScrolling = true;
            xyDiagram1.EnableAxisXZooming = true;
            chartControl1.Diagram = xyDiagram1;
            //数据源绑定dataSet里的dataTable
            chartControl1.DataSource = dSet.Tables[0];
            //自动生成的series的x值对应数据库time字段
            chartControl1.SeriesTemplate.ArgumentDataMember = "time";
            //自动生成的series的Y值对应数据库temperature字段,部分series类型y值需要指定两个值,这里默认line series 只add一个字段就好
            chartControl1.SeriesTemplate.ValueDataMembers.AddRange("temperature");
            //chart dataSource数据绑定可根据SeriesDataMember,用以数据归类,生成series,可生成多条series
            chartControl1.SeriesTemplate.SeriesDataMember = "dataRecordId";
            //设置series类型为线图
           	chartControl1.SeriesTemplate.View = splineSeriesView1;
            chartControl1.Legend.MarkerMode = DevExpress.XtraCharts.LegendMarkerMode.CheckBoxAndMarker;
            //Legend label 格式化
            chartControl1.SeriesTemplate.LegendTextPattern = "测试Id:{S}";
            //corssHair label 格式化
            chartControl1.SeriesTemplate.CrosshairLabelPattern = "{A:yyyy-MM-dd H:mm:ss}: {V:F2}";
            chartControl1.EndInit();

数据库中假数据35000条数据,共生成series11条,运行显示如下:
在这里插入图片描述

Series 绑定

当只有一条series需要绑定,不需要生成个多条时,可直接直接series 绑定,设置datasource、ValueDataMembers及ArgumentDataMember即可

			//手动生成一条series
 			DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
            DevExpress.XtraCharts.ChartControl chartControl1 = new DevExpress.XtraCharts.ChartControl();
            DevExpress.XtraCharts.SplineSeriesView splineSeriesView1 = new DevExpress.XtraCharts.SplineSeriesView();
            chartControl1.BeginInit();
            chartControl1.Dock = System.Windows.Forms.DockStyle.Fill;
            chartControl1.Location = new Point(0, 0);
            chartControl1.Parent = this;
            DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram();
            xyDiagram1.AxisX.DateTimeScaleOptions.MeasureUnit = DevExpress.XtraCharts.DateTimeMeasureUnit.Second;
            xyDiagram1.AxisX.DateTimeScaleOptions.ScaleMode = DevExpress.XtraCharts.ScaleMode.Manual;
            xyDiagram1.AxisY.GridLines.Visible = false;
            xyDiagram1.AxisY.Interlaced = true;
            xyDiagram1.EnableAxisXScrolling = true;
            xyDiagram1.EnableAxisXZooming = true;
            chartControl1.Diagram = xyDiagram1;
           //series 绑定
            series1.DataSource = dSet.Tables[0];
            series1.ArgumentDataMember = "time";
            series1.ValueDataMembers.AddRange("temperature");
            chartControl1.Legend.MarkerMode = DevExpress.XtraCharts.LegendMarkerMode.CheckBoxAndMarker;
            series1.LegendTextPattern = "测试Id:{S}";
            series1.View = splineSeriesView1;
            series1.CrosshairLabelPattern = "{A:yyyy-MM-dd H:mm:ss}: {V:F2}";
            //series添加到chart控件中
            chartControl1.Series.Add(series1);

            chartControl1.EndInit();

在这里插入图片描述

例程附件

链接: link.

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DevExpress ChartControl 是一个功能强大的图表控件,可用于在应用程序中创建各种类型的曲线图。 使用DevExpress ChartControl,我们可以轻松地添加和配置曲线图,以直观地显示数据和趋势。曲线图可以用于展示时间序列数据、趋势分析、模式识别等。 在使用DevExpress ChartControl时,我们可以通过以下几个步骤来创建和配置曲线图: 1. 数据绑定:首先,我们需要将数据源与ChartControl绑定。可以使用多种数据源,如数据库、集合、XML等。通过设置数据系列的名称、标签、数据字段等,我们可以将数据源中的数据与图表关联起来。 2. 图表类型选择:ChartControl提供了多种类型的曲线图,如折线图、散点图、面积图等。我们可以根据需求选择合适的图表类型,并进行相关的配置。 3. 样式设置:可以根据需要,配置曲线图的外观样式,如背景颜色、图表边框、曲线颜色、标签样式等。通过设置图例,我们可以显示曲线图中的数据系列名称和相应的颜色。 4. 标题和轴设置:我们可以自定义曲线图的标题,为X轴和Y轴添加标签和标题,调整刻度范围、刻度间隔等。可以根据需要,显示或隐藏网格线、刻度线等。 5. 功能和交互性:ChartControl支持各种功能和交互性,如数据筛选、缩放、滚动、鼠标提示、图表导出等。我们可以根据需求,启用或禁用这些功能。 使用DevExpress ChartControl,我们可以轻松地创建出具有丰富功能和精美外观的曲线图。无论是在桌面应用程序还是Web应用程序中,DevExpress ChartControl都是一个强大的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值