DevExpress chartControl 数据绑定
- chartControl 数据绑定
- ChartControl直接绑定
- Series 绑定
- 例程附件
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里的dataTablechartControl1.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,可生成多条serieschartControl1.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即可
//手动生成一条seriesDevExpress.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.






![使用 String[] values = request.getParameterValues(key);出现的问题 ,Ajax Post 提交数组参数后台无法接收](https://img-blog.csdnimg.cn/20201112220839183.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzMxNDAxOQ==,size_16,color_FFFFFF,t_70#pic_center)




