首先看一下此实例的显示效果。
图1 添加移出项--自定义工具箱
单击确定按钮,此时会发现工具箱中出现如右图所示图标。
在WebForm中添加TeeChart控件
- 新建一个Asp.Net Web应用程序,名称为TeeChartTest;
- 选择文件--〉添加新项,弹出添加新项窗体,在模板中选择web 窗体,在名称中输入Default.aspx;
- 从工具箱中选择 WebChart 控件,并把它拖拽到Default.aspx页面中;
- 右击TeeChart控件,选择 'Edit...' ,打开TeeChart Editor 窗体;
- 在此你可以添加和修改Series,Axes 和其他属性。
- 选择 WebChart1 对象 ,在属性窗体中,修改TempChart 属性, 把File 改成Session. 这意味着WebChart 生成的图片将存储在session变量中,而不是存储在一个临时文件夹中。
- 为了覆盖session变量中的图表, 我们新建一个asp.net页面,命名为GetChart.aspx. 在Page_Load事件中添加如下代码:
private void Page_Load(object sender, System.EventArgs e)
{
string chartName=Request.QueryString["Chart"];
if (Session[chartName]!=null)
{
System.IO.MemoryStream chartStream = new System.IO.MemoryStream();
chartStream=((System.IO.MemoryStream)Session[chartName];
Response.OutputStream.Write(chartStream.ToArray(),0,(int)chartStream.Length);
chartStream.Close();
Session.Remove(chartName);
}
}
生成如图1所示的代码 -
在Default.aspx中Page_Load事件中添加如下代码:
-
private void Page_Load(object sender, System.EventArgs e)
{
//Let's work with the Chart object for convenience
Steema.TeeChart.Chart Chart1 = WebChart1.Chart;
//Add in a series and fill it
Chart1.Aspect.View3D = false;
Steema.TeeChart.Styles.Bubble bubble1 = new Steema.TeeChart.Styles.Bubble(Chart1);
bubble1.FillSampleValues();
//Add a SeriesToolTip to the Chart
Steema.TeeChart.Tools.SeriesHotspot seriesHotSpot1 = new Steema.TeeChart.Tools.SeriesHotspot(Chart1);
//Steema.TeeChart.Styles.MapAction.Mark is the default value
seriesHotSpot1.MapAction = Steema.TeeChart.Styles.MapAction.Mark;
}
连接数据库 -
在SQLServer中新建Test数据库;
-
新建PeopleNum表,表中数据如下图所示:
-
新建DataAccess类,在类中添加如下代码:
-
using System;
using System .Data.SqlClient;
using System.Data;
using System.Configuration; -
namespace TeeChartTest
{
/// <summary>
/// DataAccess 的摘要说明。
/// </summary>
public class DataAccess
{
public DataAccess()
{
//
// TODO: 在此处添加构造函数逻辑
//
} -
public static DataSet GetDataSet(string sql)
{
string connstring = ConfigurationSettings.AppSettings["ConnectionString"];
SqlDataAdapter sda = new SqlDataAdapter(sql,connstring);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
} -
}
} -
在web.config中,<configuration>和 <system.web>之间添加如下代码
-
<appSettings>
<add key="ConnectionString" value="data source=127.0.0.1;initial catalog=test;user id=sa;password=sw"/>
</appSettings> -
修改您的用户名和密码;
-
双击DrawPie按钮,添加如下代码
-
private void Button1_Click(object sender, System.EventArgs e)
{
this.DrawPie();
} -
private void DrawPie()
{
WebChart1.Chart.Panel.Color = System.Drawing.Color.AliceBlue;
WebChart1.Chart.Legend.LegendStyle = Steema.TeeChart.LegendStyles.Auto;
WebChart1.Chart.Legend.Alignment = Steema.TeeChart.LegendAlignments.Bottom;
WebChart1.Chart.Legend.Inverted = true;
WebChart1.Chart.Legend.ShapeStyle = Steema.TeeChart.Drawing.TextShapeStyle.RoundRectangle;
WebChart1.Chart.Legend.Symbol.Visible = true;
WebChart1.Chart.Legend.Font.Color = System.Drawing.Color.DarkBlue; -
WebChart1.Dispose();
string chartTitle = "世界各大洲按人口数目统计的比例图";
WebChart1.Chart.Header.Text = chartTitle.Trim().ToString();
WebChart1.Chart.Axes.Left.Title.Text = "世界各大洲按人口数目统计的比例图";
Steema.TeeChart.Styles.Pie Pie1 = new Steema.TeeChart.Styles.Pie();
WebChart1.Chart.Series.Add(Pie1); -
DataSet dsall = DataAccess.GetDataSet("select * from PeopleNum");
Pie1.DataSource = dsall.Tables[0];
Pie1.YValues.DataMember = dsall.Tables[0].Columns[2].ToString();
Pie1.LabelMember = dsall.Tables[0].Columns[1].ToString();
WebChart1.DataBind(); -
//WebChart1.Chart.Export.Image.JPEG.Save("D://Mine//pciture//0001.jpeg");
-
}
-
在DrawBar中添加如下代码:
-
private void Button2_Click(object sender, System.EventArgs e)
{
DrawBar();
}
private void DrawBar()
{ -
Steema.TeeChart.Styles.Bar Bar1 ;
DataSet DS = new DataSet(); -
WebChart1.Chart.Header.Text = "世界各大洲人口数目柱形图";
WebChart1.Chart.Axes.Left.Title.Text = "世界各大洲人口数目柱形图";
WebChart1.Dispose();
Bar1 = new Steema.TeeChart.Styles.Bar(WebChart1.Chart);
Bar1.ColorEach = true; -
WebChart1.Chart.Axes.Bottom.Title.Text = "世界各大洲人口数目柱形图";
string SelectStr = "select * from PeopleNum" ;
DS.Clear(); -
try
{
DS = DataAccess.GetDataSet(SelectStr);
}
catch
{} -
Bar1.DataSource = DS.Tables[0];
Bar1.YValues.DataMember = DS.Tables[0].Columns[2].ToString();
Bar1.LabelMember = DS.Tables[0].Columns[1].ToString();
WebChart1.DataBind(); -
//WebChart1.Chart.Export.Image.JPEG.Save("D://Mine//pciture