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

📄 defaultcs.aspx.cs

📁 Telerik是很大的第三方软件制造商
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Xml;
using System.IO;
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.Data
{
	/// <summary>
	/// Summary description for _Default.
	/// </summary>
	public class DefaultCS: XhtmlPage
	{
		protected System.Web.UI.WebControls.TextBox tbwidth;
		protected System.Web.UI.WebControls.TextBox tbHeight;
		protected System.Web.UI.WebControls.Xml Xml1;
		protected Telerik.WebControls.RadChart RadChart1;				
		protected System.Web.UI.WebControls.Label Label23;
		protected System.Web.UI.WebControls.Label Label24;
		protected System.Web.UI.WebControls.Label Label25;
		protected System.Web.UI.WebControls.Label Label26;
		protected System.Web.UI.WebControls.Label labelTest;
		protected System.Web.UI.WebControls.Button btnRemoveSeries;
		protected System.Web.UI.WebControls.Button btnGenNewSeries;
		protected System.Web.UI.WebControls.DataGrid dataGridData;
		protected System.Web.UI.WebControls.DataGrid dataGridSeries;
		protected System.Web.UI.WebControls.Button btnUpdateChart;
		protected System.Web.UI.WebControls.Label Label7;
		protected System.Web.UI.WebControls.Label Label8;
		protected System.Web.UI.WebControls.Button btnAddCol;
		protected System.Web.UI.WebControls.Button btnRemoveCol;
		protected System.Web.UI.WebControls.Panel panelTitle_Legend;
		protected System.Web.UI.WebControls.Panel panelData;		
		protected System.Web.UI.WebControls.Button Button1;
		protected System.Web.UI.WebControls.Panel Panel1;
		protected System.Web.UI.WebControls.Label Label9;
		protected System.Web.UI.WebControls.TextBox txtBoxBarWidthPercent;
		protected System.Web.UI.WebControls.TextBox txtBoxBarOverlapPercent;
		protected System.Web.UI.WebControls.Label lblIncorrectSettings;
		protected System.Web.UI.WebControls.Button Button2;

		#region SUPPORT METHODS		


		private void InitRadChart()
		{
			Random r = new Random();

			RadChart1.Clear();

			RadChart1.XAxis.LayoutStyle = ChartAxisLayoutStyle.Between;
			RadChart1.XAxis.AddItem("A");
			RadChart1.XAxis.AddItem("B");
			RadChart1.XAxis.AddItem("C");
			RadChart1.XAxis.AddItem("D");
			RadChart1.XAxis.AddItem("E");
			RadChart1.XAxis.AddItem("F");
			RadChart1.XAxis.AddItem("G");
			RadChart1.XAxis.AddItem("H");
			

			ChartSeries s0 = RadChart1.CreateSeries("r.a.d.chart", Color.FromArgb(139, 255, 0, 0), ChartSeriesType.Bar);            
			s0.LabelAppearance.Background.BorderColor = Color.Black;
			s0.LabelAppearance.Background.MainColor = Color.White;
			s0.LabelAppearance.TextFont = new Font("Times New Roman", 8);
			s0.LabelAppearance.Background.FillStyle = FillStyle.Solid;
			s0.Appearance.BorderColor = Color.Black;
			s0.Appearance.FillStyle = FillStyle.Solid;
			s0.ShowLabels = true;
			s0.LabelAppearance.Distance = 5;
			s0.SetValues(1, 2, 3, 4, 5, 6, 7.5);
			s0.SetLabels("t", "e", "l", "e", "r", "i", "k");
			

			ChartSeries s1 = RadChart1.CreateSeries("demo", Color.Lime, ChartSeriesType.Line);
			s1.LabelAppearance.Background.BorderColor = Color.Black;
			s1.LabelAppearance.Background.MainColor = Color.White;	
			s1.LabelAppearance.Background.FillStyle = FillStyle.Solid;
			s1.LabelAppearance.TextFont = new Font("Times New Roman", 8);
			s1.Appearance.BorderColor = Color.Black;  
			s1.Appearance.FillStyle = FillStyle.Solid;
			// s1.ShowValues = true;
			s1.LabelAppearance.Distance = 5;
			s1.SetValues(0.5, 1, 1.5, 2, 2.5, 3, 3.75);
			s1.SetLabels("k", "i", "r", "e", "l", "e", "t");

		}
		

		private void InitComponents()
		{			
			RadChart1.YAxis.AutoScale = true;
			RadChart1.XAxis.ShowLabels = true;

			InitRadChart();

			InitDataGridData();

			InitDataGridSeries();

			panelData.Visible = true;

			RadChart1.BarWidthPercent = 50;

			txtBoxBarOverlapPercent.Text = RadChart1.BarOverlapPercent.ToString();
			txtBoxBarWidthPercent.Text = RadChart1.BarWidthPercent.ToString();
			
			// txtBoxXml.Text = RadChart1.GetXml();
		}
		#endregion

		private DataTable CreateDataTable(int cols, int rows)
		{
			DataTable dt = new DataTable();

			for (int i = 0; i < cols; i++)
			{
				dt.Columns.Add("");
			}

			object[] objs = {null};

			for (int i = 0; i < rows; i++)
			{
				dt.Rows.Add(objs);
			}

			return dt;			
		}

		private void InitDataGridSeries()
		{
			UpdateDataGridSeries();
		}

		private void UpdateDataGridSeries()
		{
			dataGridSeries.DataSource = CreateDataTable(1, RadChart1.ChartSeriesCollection.Count);
			dataGridSeries.DataBind();

			ColorConverter cc = new ColorConverter();
			
			DropDownList ddList;
			CheckBox checkBox;
			TextBox textBox;

			foreach (DataGridItem item in dataGridSeries.Items)
			{
				ChartSeries s = RadChart1.GetChartSeries(item.ItemIndex);

				if (s != null)
				{
					// GET SERIES NAME
					((TextBox) item.FindControl("txtBoxSeriesName")).Text = s.Name;

					// GET SERIES COLOR
					ddList = (DropDownList) (item.FindControl("dropDownSeriesColor"));

					foreach (ListItem listItem in ddList.Items)
					{
						string colorName = cc.ConvertToString(s.MainColor);
						if (listItem.Text.Equals(colorName))
						{
							listItem.Selected = true;
							break;
						}
					}

					// GET SERIES TYPE
					ddList = (DropDownList) (item.FindControl("dropDownSeriesType"));

					EnumConverter ec = new EnumConverter(typeof(ChartSeriesType));

					foreach (ListItem listItem in ddList.Items)
					{
						string typeName = ec.ConvertToString(s.Type);

						if (listItem.Text.Equals(typeName))
						{
							listItem.Selected = true;
							break;
						}
					}

					// GET SERIES SHOW LABELS
					checkBox = (CheckBox) item.FindControl("checkBoxShowLabels");
					checkBox.Checked = s.ShowLabels;

					// GET SERIES SHOW VALUES
					checkBox = (CheckBox) item.FindControl("checkBoxShowValues");
					checkBox.Checked = s.ShowLabels;

					// GET SERIES SHOW PERCENT
					checkBox = (CheckBox) item.FindControl("checkBoxShowPercent");
					// checkBox.Checked = s.ShowPercent;

					// GET COLOR TRANSPARENCY
					textBox = (TextBox) item.FindControl("txtBoxTransparency");
					textBox.Text = s.MainColor.A.ToString();

					// GET LABEL OFFSET
					textBox = (TextBox) item.FindControl("txtBoxLabelOffset");
					textBox.Text = s.LabelAppearance.Distance.ToString();

				}
			}
		}

		private void InitDataGridData()
		{			
			UpdateDataGridData();
		}

		private void UpdateDataGridData()
		{
			dataGridData.DataSource = CreateDataTable(1, RadChart1.ChartSeriesCollection.Count);
			dataGridData.DataBind();			

			TextBox		txtBox = null;
			ChartSeries s;
			
			foreach (DataGridItem item in dataGridData.Items)
			{						
				int itemIndex = 0;

				s = RadChart1.GetChartSeries(item.ItemIndex);

				Label l = (Label) item.FindControl("labelSeriesName");

				if (s != null)
				{
					l.Text = s.Name;
				}
				else
				{
					l.Text = item.ItemIndex.ToString();
				}

				foreach (TableCell tc in item.Cells)
				{
					foreach (System.Web.UI.Control c in tc.Controls)
					{					
						if (c is TextBox)
						{
							if (s != null)
							{
								txtBox = (TextBox) c;
								try
								{
									ChartSeriesItem seriesItem = s.GetSeriesItem(itemIndex++);
									if (seriesItem != null)
									{
										txtBox.Text = seriesItem.YValue.ToString();
									}
								}
								catch
								{
								}
                                
							}
							else
							{
								txtBox.Text = "";
							}
						}
					}
				}				
			}
		}

		private string GetFormatedXml(string content)
		{
			XmlDocument doc = new XmlDocument ();
			doc.LoadXml(content);
			StringWriter stringWriter = new StringWriter();
			XmlTextWriter xmlWriter = new XmlTextWriter( stringWriter);			
			xmlWriter.Formatting = Formatting.Indented;
			doc.WriteTo(xmlWriter);
			xmlWriter.Flush();
			string result = stringWriter.ToString();
			stringWriter.Close();
			return result;            
		}

        
		protected override void OnPreRender(EventArgs e)
		{            
			if (ViewState["XmlLabel"] != null)
			{
				Label9.Visible = (bool) ViewState["XmlLabel"];
				if (Label9.Visible)
				{
					Label9.Text = "<pre>" + Server.HtmlEncode(GetFormatedXml(RadChart1.GetXml())) + "</pre>";
				}
			}
		}

		private void Page_Load(object sender, System.EventArgs e)
		{	            
			if (!IsPostBack)
			{   							
				InitComponents();				                                
			}
			else
			{	                

⌨️ 快捷键说明

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