大白话C#chartControl控件固定数据实现柱状图.docx
《大白话C#chartControl控件固定数据实现柱状图.docx》由会员分享,可在线阅读,更多相关《大白话C#chartControl控件固定数据实现柱状图.docx(10页珍藏版)》请在冰点文库上搜索。
大白话C#chartControl控件固定数据实现柱状图
大白话C#—chartControl控件
固定数据实现柱状图
【完整代码附在文档最后】
大白话系列宗旨:
打破自身基础高低的壁垒,用最简单白话的语言,让最低基础的童鞋也能轻松编程。
项目描述:
chartControl是VS中DEV插件下的一个控件,可以实现在界面中的图表功能,本项目旨在通过chartControl控件搭配给定的数据变量从而实现简单柱状图的显示。
环境:
VS2010、DEV11.1
详细步骤(完整代码附在文档最后):
(完整代码附在文档最后)
一、新建C#项目
1、找到并打开VS2010软件,新建项目。
2、在弹出的窗口中左侧选择VisualC#下的Windows,然后在右侧选择“Windows窗体应用程序”,然后在下侧修改项目名称。
点击确定,即创建了一个窗体。
2、给窗体添加chartControl控件
(完整代码附在文档最后)
1、在主界面左侧找到工具箱(若无工具箱,可在主界面“视图”选项卡下选择“工具箱”即可显示),在工具箱中找到chartControl控件双击,即可在窗体中添加该控件。
2、选择要展示的图表样式,本例选择饼状图,即图中的Pie。
3、chartControl控件在父容器中停靠。
3、进入代码编写
(完整代码附在文档最后)
1、在窗体上右键,选择“查看代码”,即可进入代码编写区。
2、初始代码主要是using引用部分和最基本的初始化InitializeComponent。
(完整代码附在文档最后)
3、添加新的using引用,主要是【与数据库连接相关的usingSystem.Data.SqlClient】、【与DEV插件编辑相关的usingDevExpress.XtraEditors】、【与chartControl控件相关的usingDevExpress.XtraCharts】。
添加完成后如下图:
4、对chartControl控件进行初始化。
初始化主要包括对控件数据源的定义(定义数据源为CreateDataSource())、饼状图图的横纵坐标、指示数值的百分比样式展示及数值字体颜色、大小、背景色、边框等,同时也将图例的展示内容由展示数值修改为展示Name的各项。
图中红框区域内是chartControl初始化函数InitChartDataSource()的代码,该段代码添加完之后将InitChartDataSource()添加到publicForm1()中,以达到初始化目的。
(完整代码附在文档最后)
4、给定数据变量
由于在之前的chartControl初始化中我们已经定义数据源为CreateDataSource(),下面我们就要搭建CreateDataSource()。
创建privateDataTableCreateDataSource(),并为其添加代码如下图:
6、代码编写完成,启动调试。
(完整代码附在文档最后)
附完整代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Data.SqlClient;
usingSystem.Text;
usingSystem.Windows.Forms;
usingDevExpress.XtraEditors;
usingDevExpress.XtraCharts;
namespacezhu
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
InitChartDataSource();
}
//初始化chartControl
publicvoidInitChartDataSource()
{
SeriesSeries1=newSeries("Series1",DevExpress.XtraCharts.ViewType.Bar);//新建一个柱形图系列Series。
ViewType后面的是系列的类型,Bar就是简单的柱状图类型
Series1.DataSource=CreateDataSource();//定义该系列的数据源
Series1.ArgumentScaleType=ScaleType.Qualitative;
Series1.ArgumentDataMember="Name";//以数据源的哪一行为参数
Series1.ValueScaleType=ScaleType.Numerical;//以数据的形式展示
Series1.ValueDataMembers.AddRange(newstring[]{"Value"});//需要展示的数据
chartControl1.Series.Add(Series1);//把之前定义的柱形图系列添加至chartControl1控件
XYDiagramdiagram=(XYDiagram)chartControl1.Diagram;//获取chartControl的diagram对象
diagram.AxisY.MinorCount=10;//设置Y轴的间隔
//diagram.AxisY.NumericOptions.Format=NumericFormat.Percent;//以百分数显示
diagram.AxisY.Range.MaxValueInternal=100;//最大值为100
diagram.AxisY.Range.Auto=false;//不允许自动设定间隔值
diagram.AxisY.Range.MinValueInternal=0;//最小值从0开始
diagram.AxisY.Tickmarks.MinorVisible=false;//不显示间隔标示符
diagram.AxisX.Tickmarks.MinorVisible=false;//不显示间隔标示符
ChartTitlect=newChartTitle();//添加标题
ct.Text="各参数值图示";//标题名称
ct.TextColor=Color.Black;//颜色
ct.Font=newFont("Tahoma",16);//字体
ct.Dock=ChartTitleDockStyle.Top;//停靠在上方
ct.Alignment=StringAlignment.Center;//居中显示
chartControl1.Titles.Add(ct);
}
inta=20;
intb=100;
intc=50;
//构建柱状图数据源
privateDataTableCreateDataSource()
{
DataTabletable=newDataTable("Table1");
table.Columns.Add("Name",typeof(String));//横坐标代表的项
table.Columns.Add("Value",typeof(Int32));//纵坐标代表的数值
table.Rows.Add(newobject[]{"AAA",a});
table.Rows.Add(newobject[]{"BBB",b});
table.Rows.Add(newobject[]{"CCC",c});
returntable;
}
}
}