📄 defaultcs.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Telerik.QuickStart;
using Telerik.WebControls;
namespace Telerik.ChartExamplesCS.DrillDown
{
/// <summary>
/// Summary description for _Default.
/// </summary>
public class DefaultCS: XhtmlPage
{
protected Telerik.WebControls.RadChart RadChart1;
private void LoadMainData()
{
using (OleDbConnection dbCon = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("data.mdb")))
{
dbCon.Open();
System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand("SELECT sum(revenue) AS rev, year FROM Table1 GROUP BY year;", dbCon);
command.CommandType = CommandType.Text;
OleDbDataReader reader = command.ExecuteReader();
RadChart1.Title1.Text = "Revenue by years";
ChartSeries s = RadChart1.GetChartSeries(0);
s.Appearance.MainColor = Color.FromArgb(255, 150, 215);
s.Appearance.SecondColor = Color.FromArgb(197, 0, 65);
s.Name = "Years";
RadChart1.XAxis.AutoScale = false;
RadChart1.YAxis.AutoScale = true;
RadChart1.XAxis.Items.Clear();
while (reader.Read())
{
ChartSeriesItem item = new ChartSeriesItem();
item.YValue = (double) reader.GetDecimal(0);
item.Name = reader.GetInt32(1).ToString();
string year = reader.GetInt32(1).ToString();
item.ItemMap.ToolTip = "Click here to see the revenue for " + year;
RadChart1.XAxis.AddItem(year);
s.Items.Add(item);
}
}
}
private void LoadQuarters(string year)
{
using (OleDbConnection dbCon = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("data.mdb")))
{
dbCon.Open();
System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(string.Format("SELECT sum(revenue), quarter from table1 where year={0} group by quarter", year), dbCon);
command.CommandType = CommandType.Text;
OleDbDataReader reader = command.ExecuteReader();
ChartSeries s = RadChart1.GetChartSeries(0);
s.Appearance.MainColor = Color.FromArgb(199, 243, 178);
s.Appearance.SecondColor = Color.FromArgb(17, 147, 7);
s.Items.Clear();
s.Name = "Quarters";
RadChart1.Title1.Text = "Revenue for " + year;
RadChart1.XAxis.AutoScale = false;
RadChart1.YAxis.AutoScale = true;
RadChart1.XAxis.Items.Clear();
while (reader.Read())
{
ChartSeriesItem item = new ChartSeriesItem();
item.YValue = (double) reader.GetDecimal(0);
item.Name = year;
item.ItemMap.ToolTip = "Click here to see the revenue for Quarter" + reader.GetInt32(1).ToString();
RadChart1.XAxis.AddItem("Quarter " + reader.GetInt32(1).ToString());
s.Items.Add(item);
}
}
}
private void LoadMonths(string year, string quarter)
{
string[] months = new string[12] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
using (OleDbConnection dbCon = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("data.mdb")))
{
dbCon.Open();
int year1 = int.Parse(year) + 2002;
System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(string.Format("SELECT revenue, month from table1 where year={0} and quarter={1}", year, quarter), dbCon);
command.CommandType = CommandType.Text;
OleDbDataReader reader = command.ExecuteReader();
ChartSeries s = RadChart1.GetChartSeries(0);
s.Appearance.MainColor = Color.FromArgb(253, 226, 0);
s.Appearance.SecondColor = Color.FromArgb(255, 156, 0);
s.Items.Clear();
s.Name = "Months";
RadChart1.Title1.Text = "Year " + year + ", Quarter " + quarter;
RadChart1.XAxis.AutoScale = false;
RadChart1.YAxis.AutoScale = true;
RadChart1.XAxis.Items.Clear();
while (reader.Read())
{
ChartSeriesItem item = new ChartSeriesItem();
item.YValue = (double) reader.GetDecimal(0);
item.ItemMap.ToolTip = "Revenue for " + months[reader.GetInt32(1) - 1] + ". No more data!";
RadChart1.XAxis.AddItem(months[reader.GetInt32(1) - 1]);
s.Items.Add(item);
}
}
}
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
LoadMainData();
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.RadChart1.Click += new Telerik.WebControls.RadChart.ChartClickEventHandler(this.RadChart1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void RadChart1_Click(object sender, Telerik.WebControls.ChartClickEventArgs args)
{
if (args.Series != null)
{
if (args.Series.Name.Equals("Years"))
{
if (args.SeriesItem != null)
{
LoadQuarters(args.SeriesItem.Name);
}
}
else if (args.Series.Name.Equals("Quarters"))
{
if (args.SeriesItem != null)
{
LoadMonths(args.SeriesItem.Name, (args.SeriesItem.Index + 1).ToString());
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -