大白话系列--C#--chartControl控件连接SQL-Server数据库实现柱状图

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

大白话C#—chartControl控件连接SQLServer数据库实现柱状图大白话系列宗旨:打破自身基础高低的壁垒,用最简单白话的语言,让最低基础的童鞋也能轻松编程。项目描述:chartControl是VS中DEV插件下的一个控件,可以实现在界面中的图表功能,本项目旨在通过chartControl控件与数据库动态连接,从而实现将数据库中的数据对应显示在界面的图表中。本示例使用SQLServer数据库,最终实现的是柱状图。环境:VS2010、DEV11.1、SQLServer2008详细步骤(完整代码附在文档最后):一、建立数据库1、打开SQLServer2008下的SQLServerManagementStudio,连接进入主界面。2、在主界面左侧找到“数据库”文件夹,右键点击“新建数据库”,并对数据库进行命名,此处命名为“Test”。3、点击“确定”,即建立了一个名为“Test”的数据库。二、新建数据表1、在主界面左侧的“Test”文件夹下找到“表”文件夹,右键点击,选择“新建表”,此时弹出窗口对该表命名,此处命名为“dbo.Table”2、在弹出的界面中给新建表添加列名及其类型,并保存。范例如图:3、在左侧找到“表”文件夹下“dbo.Table”,右键点击,选择“编辑前200行”,在弹出的窗口内对该数据表进行数据填充,就是对之前新建表里的各列填充数据。范例如图:三、新建C#项目1、找到并打开VS2010软件,新建项目。2、在弹出的窗口中左侧选择VisualC#下的Windows,然后在右侧选择“Windows窗体应用程序”,然后在下侧修改项目名称。点击确定,即创建了一个窗体。四、给窗体添加chartControl控件1、在主界面左侧找到工具箱(若无工具箱,可在主界面“视图”选项卡下选择“工具箱”即可显示),在工具箱中找到chartControl控件双击,即可在窗体中添加该控件。2、取消选择图标样式。3、chartControl控件在父容器中停靠。五、进入代码编写(完整代码附在文档最后)1、在窗体上右键,选择“查看代码”,即可进入代码编写区。2、初始代码主要是using引用部分和最基本的初始化InitializeComponent。3、添加新的using引用,主要是【与数据库连接相关的usingSystem.Data.SqlClient】、【与DEV插件编辑相关的usingDevExpress.XtraEditors】、【与chartControl控件相关的usingDevExpress.XtraCharts】。添加完成后如下图:4、对chartControl控件进行初始化。初始化主要包括对控件数据源的定义(定义数据源为CreateDataSource())、柱状图的横纵坐标、Y轴的最小及最大值和间隔、控件的标题名称及颜色、标题的位置等。图中红框区域内是chartControl初始化函数InitChartDataSource()的代码,该段代码添加完之后将InitChartDataSource()添加到publicForm1()中,以达到初始化目的。5、搭建数据源由于在之前的chartControl初始化中我们已经定义数据源为CreateDataSource(),下面我们就要搭建CreateDataSource()。创建privateDataTableCreateDataSource(),并为其添加代码如下图:六、代码编写完成,启动调试。附完整代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Data.SqlClient;usingSystem.Text;usingSystem.Windows.Forms;usingDevExpress.XtraEditors;usingDevExpress.XtraCharts;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();InitChartDataSource();}//初始化chartControlpublicvoidInitChartDataSource(){SeriesSeries1=newSeries(Series1,DevExpress.XtraCharts.ViewType.Bar);//新建一个柱形图系列Series。ViewType后面的是系列的类型,Bar就是简单的柱状图类型Series1.DataSource=CreateDataSource();//定义该系列的数据源Series1.ArgumentScaleType=ScaleType.Qualitative;Series1.ArgumentDataMember=id;//以数据源的哪一行为参数Series1.ValueScaleType=ScaleType.Numerical;//以数据的形式展示Series1.ValueDataMembers.AddRange(newstring[]{value1});//需要展示的数据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;//最大值为100diagram.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);}#region定义数据库变量publicstringDataBase;//数据库名称publicstaticSqlConnectioncon;//定义一个SqlConnection类型的公共变量My_con,用于判断数据库是否连接成功publicstaticstringM_str_sqlcon=DataSource=.;Database=Test;Trusted_Connection=SSPI;//定义SQLServer连接字符串,将DataSource改为自己的SQLServer服务器名#endregionprivateDataTableCreateDataSource(){#region连接数据库try{con=newSqlConnection(M_str_sqlcon);//用SqlConnection对象与指定的数据库相连接con.Open();//打开数据库连接con.Close();}catch{MessageBox.Show(数据库链接失败,请检查。,提示信息,MessageBoxButtons.OK,MessageBoxIcon.Information);}#endregionDataTableDt=newDataTable();//创建新的虚拟数据表变量DataColumncolumn1=newDataColumn();//定义列架构变量column1.DataType=System.Type.GetType(System.String);//定义存储在列中的数据的类型column1.ColumnName=id;//横坐标显示项目column1.Caption=id;Dt.Columns.Add(column1);DataColumncolumn2=newDataColumn();column2.DataType=System.Type.GetType(System.Double);column2.ColumnName=value1;//纵坐标显示数据column2.Caption=value1;Dt.Columns.Add(column2);//添加rowDataRowrow=null;stringSQLTXT=null;SQLTXT=SELECTid,value1FROM[Table];//在数据表Table中选择两列,数据表名记得加中括号[]SqlDataAdapterdtp=newSqlDataAdapter(SQLTXT,con);con.Open();DataTabledt=newDataTable();dtp.Fill(dt);foreach(varitemindt.Rows){row=Dt.NewRow();row[id]=((DataRow)item)[id];row[value1]=((DataRow)item)[value1];Dt.Rows.Add(row);}returnDt;}}}

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功