📄 defaultcs.aspx.cs
字号:
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 + -