ChartControl控件绘制折线图

article/2025/11/5 18:17:14

新建DevExpress窗体

SQLServer数据库中的数据如下:

在这里插入图片描述

拖入XtraTabControl控件,并修改Text属性

在这里插入图片描述

分别拖入GridControl控件和ChartControl控件

在GridControl控件中点击Run Designer,添加三列数据并分别设置FieldName(与数据库中对应)
在这里插入图片描述

在这里插入图片描述
在chartcontrol控件中点击Run Designer,添加两个Series,并修改Name属性
在这里插入图片描述

右键查看代码:(设置后的代码如下)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Data.SqlClient;
using DevExpress.XtraCharts;
using DevExpress.Utils;namespace TreeList_test
{public partial class Form5 : DevExpress.XtraEditors.XtraForm{public Form5(){InitializeComponent();}private void Form5_Load(object sender, EventArgs e){DataTable dt = CreateData();this.gridControl1.DataSource = dt;UpdateChart(this.chartControl1.Series[0], dt, 0);UpdateChart(this.chartControl1.Series[1], dt, 1);List<Series> list = new List<Series>() { this.chartControl1.Series[0], this.chartControl1.Series[1] };chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;chartControl1.SeriesTemplate.LabelsVisibility = DefaultBoolean.True;for (int i = 0; i < list.Count; i++){CreateAxisY(list[i]);CreateAxisX(list[i]);}}private DataTable CreateData(){/*  DataTable dt = new DataTable();dt.Columns.Add(new DataColumn("类型"));dt.Columns.Add(new DataColumn("2005-1月", typeof(decimal)));dt.Columns.Add(new DataColumn("2005-2月", typeof(decimal)));dt.Columns.Add(new DataColumn("2005-3月", typeof(decimal)));dt.Columns.Add(new DataColumn("2005-4月", typeof(decimal)));dt.Columns.Add(new DataColumn("2005-5月", typeof(decimal)));dt.Columns.Add(new DataColumn("2005-6月", typeof(decimal)));dt.Rows.Add(new object[] { "员工人数", 437, 437, 414, 397, 387, 378 });dt.Rows.Add(new object[] { "人均月薪", 3946, 3961, 3979, 3974, 3967, 3972 });dt.Rows.Add(new object[] { "成本TEU", 3104, 1339, 3595.8, 3154.5, 2499.8, 3026 });dt.Rows.Add(new object[] { "人均生产率", 7.1, 3.06, 8.69, 7.95, 6.46, 8.01 });dt.Rows.Add(new object[] { "占2005年3月人数比例", 1.06, 1.06, 1, 0.96, 0.93, 0.91 });return dt;*/using (SqlConnection con = new SqlConnection("Data Source =.; Initial Catalog = test_10_23; User ID = sa; Password = 123456; Connection Timeout = 10")){string sql = "select empno,sal,deptno from emp";//查找所有员工的薪水SqlDataAdapter sda = new SqlDataAdapter(sql, con);DataSet ds = new DataSet();sda.Fill(ds);return ds.Tables[0];}}/// <summary>/// /// </summary>/// <param name="series"></param>/// <param name="dt">数据源</param>/// <param name="colIndex">数据源中第colIndex列的数据</param>private void  UpdateChart(Series series,DataTable dt,int colIndex){Type typeH = dt.Columns[0].DataType;for (int i = 0; i < dt.Rows.Count; i++){// var argument = Convert.ChangeType(dt.Rows[i][0], typeH);//参数名称//  var value = Convert.ChangeType(dt.Rows[i][colIndex], typeof(float));//参数值string argument = dt.Rows[i][1].ToString();                             //参数名称var value = Convert.ChangeType(dt.Rows[i][colIndex], typeof(double));   //参数值series.Points.Add(new SeriesPoint(argument, value));}//必须设置ArgumentScaleType的类型,否则默认会转换为日期格式,导致不是希望的格式显示//也就是说,显示字符串的参数,必须设置类型为ScaleType.Qualitiveseries.ArgumentScaleType = ScaleType.Qualitative;series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;//显示标注标签}/// <summary>/// 创建图表的第二坐标系/// </summary>/// <param name="series">Series对象</param>/// <returns></returns>private SecondaryAxisY CreateAxisY(Series series){SecondaryAxisY myAxis = new SecondaryAxisY(series.Name);((XYDiagram)chartControl1.Diagram).SecondaryAxesY.Add(myAxis);((LineSeriesView)series.View).AxisY = myAxis;myAxis.Title.Text = series.Name;myAxis.Title.Alignment = StringAlignment.Far;//顶部对齐myAxis.Title.Visibility = DefaultBoolean.True;myAxis.Title.Font = new Font("宋体", 9.0f);Color color = series.View.Color;//设置坐标的颜色和图标线条颜色一致myAxis.Title.TextColor = color;myAxis.Label.TextColor = color;myAxis.Color = color;return myAxis;}/// <summary>/// 创建图表的第二坐标系/// </summary>/// <param name="series">Series对象</param>/// <returns></returns>private SecondaryAxisX CreateAxisX(Series series){SecondaryAxisX myAxis = new SecondaryAxisX(series.Name);((XYDiagram)chartControl1.Diagram).SecondaryAxesX.Add(myAxis);((LineSeriesView)series.View).AxisX = myAxis;myAxis.Title.Text = series.Name;myAxis.Title.Alignment = StringAlignment.Far; //顶部对齐myAxis.Title.Visibility = DefaultBoolean.True; //显示标题myAxis.Title.Font = new Font("宋体", 9.0f);Color color = series.View.Color;//设置坐标的颜色和图表线条颜色一致myAxis.Title.TextColor = color;myAxis.Label.TextColor = color;myAxis.Color = color;return myAxis;}}
}

启动程序:

在这里插入图片描述
点击图形展示:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/rkcjnWUE.shtml

相关文章

DevExpress chartControl 数据绑定

DevExpress chartControl 数据绑定 chartControl 数据绑定ChartControl直接绑定Series 绑定例程附件 chartControl 数据绑定 这里介绍两种绑定方式ChartControl直接绑定以及ChartControl里的series绑定 ChartControl直接绑定 通过chartControl的DataSource属性直接bingdings…

DevExpress ChartControl 实现多轴

先看成图 如果是您需要的效果&#xff0c;请往后看&#xff1a; //曲线 Color[] Colorlist new Color[7] { Color.FromArgb(255, 79, 129, 189), Color.FromArgb(255, 192, 80, 77), Color.FromArgb(255, 155, 187, 89), Color.FromArgb(255, 128, 100, 162), Col…

chartControl

关键代码&#xff1a; /// <summary>/// 设置X轴Title/// </summary>/// <param name"chart">ChartControl</param>/// <param name"titleText">Title文字</param> /// <param name"titleColor">Titl…

Dev ChartControl

1、ChartControl 绘制曲线图&#xff0c;横坐标表示距离起点距离&#xff0c;纵坐标表示高程&#xff0c;均为double类型值&#xff0c;定义一个数据源的类。 /// <summary>/// 画图控件数据源/// </summary>public class ChartDatasource{/// <summary>/// …

ChartControl控件

ChartControl控件 ChartControl控件是一个可视化的图表控件&#xff0c;它支持你能想到的所有图形。用于对统计数据的可视化显示。最近我摸索了PivotGridControl控件与ChartControl控件的配合使用。本文简单的描述一下ChartControl控件。 常用的图表类型 通过代码设置图形 //条…

DevExpress中使用ChartControl绘制折线图和导出图表为Excel文件

一、实现效果 ①手动创建线性图表(添加图表标题) ②绘制单条线性图(可实现设置X和Y轴名称、绑定数据、缩放、复选框勾选是否显示、查看指定点信息) ③绘制多条线性图可实现设置X和Y轴名称、绑定数据、缩放、复选框勾选是否显示、查看指定点信息) ④导出图表为Excel 二、…

DEV控件之ChartControl用法

一、总体概述 这个控件包含3层&#xff0c;最外面的chartControl层、中间的XYDiagram层、最里面的Series层。功能非常强大&#xff0c;但同时使用起来也相对复杂&#xff0c;需要各个层之间相互协调设置才能达到自己想要的效果。 二、chartControl层 像DEV的其它控件一样&#…

C# DevExpress组件 - ChartControl图表控件

C# DevExpress组件 - ChartControl图表控件学习-整体感知&#xff08;一&#xff09; 1 逻辑框架图梳理 以逻辑框架图&#xff0c;进行代码验证 2 代码实现 2.1 实现内容 代码实现&#xff1a;添加一个ChartControl图表控件&#xff0c;并提供显示三个变量显示在三个位置 …

C# DevExpress ChartControl用法总结

C# DevExpress ChartControl用法总结 ₯近期使用C#DevExpress制作看板时用到过的ChartControl中的相关图表&#xff0c;在此做个记录&#xff08;未完&#xff09;。 1、Bar&#xff08;柱形图&#xff09; Series series1 new Series("日期", ViewType.Bar) …

DevExpress chartControl 基本结构说明

chartControl 使用教程及chart数据绑定 DevExpress说明ChartControl 结构series 主要Diagram 主要Chart TitlesLegendsAnnotations DevExpress说明 DevExpress是一个功能强大的跨平台控件库&#xff0c;支持winform、VB、WPF、UWP、asp等等&#xff0c; chart图是软件开发中常…

Dev中ChartControl——属性熟悉与简单应用

图表元素之间的关系&#xff1a; 根据DevExpress帮助文档中描述&#xff1a; 创建点图&#xff1a; 1、创建图表 /// <summary> /// 创建图表 /// </summary> private void CreatChart() {// Create a new chart.图表控件ChartControl pointChart new ChartCon…

运用getParameterNames()方法和getParameterValues()方法获取请求参数名称和内容

一.例子代码&#xff1a; 填写信息页面&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>Insert title here</title> </head> <body> <form action"request_demo04.jsp" m…

使用 String[] values = request.getParameterValues(key);出现的问题 ,Ajax Post 提交数组参数后台无法接收

ajax向服务器提交数组参数多了一个中括号 String[] values request.getParameterValues(key); $.post({}) 直接传递数组会导致如下情况 // 使用一下js会导致如图这种情况var ids [];$(input[name"ids"]:checked).each(function(){ids.push($(this).val());})$.po…

springboot 防止xss 和sql 注入 改写 http 请求 getParameter,getParameterValues,getHeader等方法 有点东西

目录 1.springboot 启动类 引入 过滤器配置 2.过滤器 3.XssAndSqlHttpServletRequestWrapper包装器 包装类 4.修改验证登录代码 这里只写了基础的 了解意思即可 5.测试内容 6.测试结果 7.反黑客小介绍&#xff08;黑客大哥们好小弟这没啥大用O(∩_∩)O~&#xff0c;但…

java web中request.getParameterValues()和request.getParameter()异同

JavaWeb中获取表单的多行值采用request.getParameterValues(&#xff09;方法&#xff0c;request.getParameter()方法获取单个值 <!DOCTYPE html> <html lang"zh_CN"> <head><meta charset"UTF-8"><title>Title</title…

Jsp中getParameter、getParameterValues、getParameterNames和getParameterMap用法详解

以下是一个简单的jsp注册页面&#xff0c;从前端提交的数据 <% page language"java" import"java.util.*" pageEncoding"UTF-8"%> <% String path request.getContextPath(); String basePath request.getScheme()"://"re…

req.getParameterValues 输出前端乱码

前端页面 <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <head><title>登录</title> </head> <body> <% page pageEncoding"UTF-8" %> <div style"text-ali…

jsp内置对象request——getParameterValues的使用

文章目录 前言一、getParameterValues是什么二、使用步骤 1.通过表单传入2.使用数组存取读入表单结果总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、getParameterValues是什么 当控件中有多个选项时&#xff0c;要取到所有值可调用该方法&am…

initWithFormat 和stringWithFormat的区别

差别&#xff1a; 1、initWithFormat是实例办法 只能经由过程 NSString* str [[NSString alloc] initWithFormat:&#xff20;"&#xff05;&#xff20;"&#xff0c;&#xff20;"Hello World"] 调用&#xff0c;然则必须手动release来开释内存资料 2、…

C# string Format

使用C#格式化字符串 转载自博客园&#xff0c;原文连接&#xff1a;https://www.cnblogs.com/FlyingBread/archive/2007/01/18/620287.html&#xff0c;向原文作者献上敬意 1 前言 如果你熟悉Microsoft Foundation Classes&#xff08;MFC&#xff09;的CString&#xff0c;…