⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultcs.aspx.cs

📁 Telerik是很大的第三方软件制造商
💻 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.DrillDown2
{
	/// <summary>
	/// Summary description for _Default.
	/// </summary>
	public class DefaultCS: XhtmlPage
	{
		protected Telerik.WebControls.RadChart RadChart2;
		protected Telerik.WebControls.RadChart RadChart1;

		private void Page_Load(object sender, System.EventArgs e)
		{
			System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("En-us");

			if (!Page.IsPostBack)
			{
				
				GetAverageByDay();				
			}

			GetEntirePicture();
		}

		#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 GetAverageByDay()
		{
			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 * FROM GetAverageByDays", dbCon);

				command.CommandType = CommandType.Text;

				OleDbDataReader  reader = command.ExecuteReader();
			
				ChartSeries s = RadChart1.GetChartSeries(0);
				s.Items.Clear();
				s.Name = "Days";
				RadChart1.Title1.Text = "Average Values By Days";				
				RadChart1.XAxis.Items.Clear();								
		
				while (reader.Read())
				{			
					ChartSeriesItem item = new ChartSeriesItem();				
					item.YValue = (double) reader.GetDecimal(0);						
					item.ItemMap.ToolTip = "Click here to see the value changes for " + reader.GetString(1);
					RadChart1.XAxis.AddItem(reader.GetString(1));
					s.Items.Add(item);
				}
			}
		}


		private void GetEntirePicture()
		{			
			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 min(MyDate), max(MyDate) from Table1;", dbCon);
				command.CommandType = CommandType.Text;

				OleDbDataReader reader = command.ExecuteReader();

				while (reader.Read())
				{
					DateTime minDate = reader.GetDateTime(0);
					DateTime maxDate = reader.GetDateTime(1);
					RadChart2.XAxis.AutoScale = false;					
					RadChart2.XAxis.AddRange(Math.Floor(minDate.ToOADate()), Math.Ceiling(maxDate.ToOADate()), 1);
				}

				reader.Close();
									
				ChartSeries s = RadChart2.GetChartSeries(0);
				s.Items.Clear();
				s.Name = "Days";				
				RadChart2.Title1.Text		= "All Data";				
							
				s.Type = ChartSeriesType.Line;
				s.ShowLabels = false;				
										
				RadChart2.Gridlines.Visible = false;
						
				command.CommandText = "Select * from table1";
				reader = command.ExecuteReader();

				while (reader.Read())
				{			
					ChartSeriesItem item = new ChartSeriesItem();				
					item.YValue = (double) reader.GetDecimal(2);
					item.XValue = (double) reader.GetDateTime(1).ToOADate();
					s.Items.Add(item);
				}				

				RadChart2.AddChartSeries(s);
			}
		}


		private void GetDataByDay(string day)
		{
			using (OleDbConnection dbCon = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("data.mdb")))
			{
				dbCon.Open();

				string sqlCommand = string.Format("SELECT min(MyDate), max(MyDate) from Table1 where Format(MyDate,'dd.mm.yyyy') = '{0}';", day);

				System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(sqlCommand, dbCon);
				
				command.CommandType = CommandType.Text;
			
				OleDbDataReader reader = command.ExecuteReader();

				while (reader.Read())
				{
					double minTime = reader.GetDateTime(0).ToOADate();
					double maxTime = reader.GetDateTime(1).ToOADate();

					RadChart1.XAxis.AddRange(minTime, maxTime, 1 / 48.0d);
				}

				reader.Close();
										
				ChartSeries s = RadChart1.GetChartSeries(0);
				s.Items.Clear();
				s.Name = "Days";
				RadChart1.Title1.Text = day;
				RadChart1.XAxis.AutoScale = false;
				RadChart1.YAxis.AutoScale = true;
				RadChart1.XAxis.Items.Clear();
				RadChart1.XAxis.ValueFormat = ChartValueFormat.ShortTime;				
				RadChart1.XAxis.AutoScale = false;
				RadChart1.XAxis.LayoutStyle = ChartAxisLayoutStyle.Normal;
				RadChart1.XAxis.CustomFormat = "hh:mm";
				RadChart1.YAxis.AxisStyle = ChartYAxisStyle.Extended;

				s.PointSize = 0;
				
				s.Type = ChartSeriesType.Line;
				s.ShowLabels = false;
											
				RadChart1.Gridlines.Visible = false;

				sqlCommand = string.Format("SELECT * from Table1 where Format(MyDate,'dd.mm.yyyy') = '{0}';", day);						
				command.CommandText = sqlCommand;
				reader = command.ExecuteReader();				
		
				while (reader.Read())
				{			
					ChartSeriesItem item = new ChartSeriesItem();				
					item.YValue = (double) reader.GetDecimal(2);
					item.XValue = (double) reader.GetDateTime(1).ToOADate();
					s.Items.Add(item);
				}
				reader.Close();
			}			
		}

		private void RadChart1_Click(object sender, Telerik.WebControls.ChartClickEventArgs args)
		{
			if (args.Series.Type == ChartSeriesType.Bar)
			{
				GetDataByDay(RadChart1.XAxis.Items[args.SeriesItem.Index].Label);				
			}
			else
			{
				GetDataByDay(RadChart1.Title1.Text);
			}
		}
			
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -