CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/Controls/ChartControl.ascx.cs

587 lines
29 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Web.UI.DataVisualization.Charting;
using System.Drawing;
namespace Web.Controls
{
public partial class ChartControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
/// <summary>
/// 创建Chart图形
/// </summary>
/// <param name="dataSourceChart">Chart类</param>
public void CreateChart(Model.DataSourceChart dataSourceChart)
{
Chart chart1 = new Chart
{
ID = "chart1",
BackColor = Color.WhiteSmoke,
ImageLocation = "~/Images/ChartPic_#SEQ(300,3)",
BorderlineDashStyle = ChartDashStyle.Solid,
Palette = ChartColorPalette.BrightPastel,
BackSecondaryColor = Color.White,
BackGradientStyle = GradientStyle.TopBottom,
BorderWidth = 2,
BorderColor = Color.FromArgb(26, 59, 105),
ImageType = ChartImageType.Png,
Width = dataSourceChart.Width,
Height = dataSourceChart.Height
};
Title title = new Title
{
Text = dataSourceChart.Title,
ShadowColor = Color.FromArgb(32, 0, 0, 0),
Font = new Font("Trebuchet MS", 10F, FontStyle.Bold),
ShadowOffset = 3,
ForeColor = Color.FromArgb(26, 59, 105)
};
chart1.Titles.Add(title);
Legend legend = new Legend
{
Name = dataSourceChart.Title,
TextWrapThreshold = 1,
Docking = Docking.Top,
Alignment = StringAlignment.Center,
BackColor = Color.Transparent,
Font = new Font(new FontFamily("Trebuchet MS"), 8),
LegendStyle = LegendStyle.Row,
IsEquallySpacedItems = true,
IsTextAutoFit = false
};
chart1.Legends.Add(legend);
ChartArea chartArea = new ChartArea
{
Name = dataSourceChart.Title,
BackColor = Color.Transparent
};
chartArea.AxisX.IsLabelAutoFit = false;
chartArea.AxisY.IsLabelAutoFit = false;
chartArea.AxisX.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.Interval = 1;
chartArea.Area3DStyle.Enable3D = dataSourceChart.IsNotEnable3D;
chart1.ChartAreas.Add(chartArea);
if (dataSourceChart.ChartType == SeriesChartType.Pie)
{
foreach (Model.DataSourceTeam dataSourceTeam in dataSourceChart.DataSourceTeams)
{
this.lblTotal.Text = "累计值为:";
if (dataSourceTeam.DataPointName == "累计")
{
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
this.lblTotal.Text += (dataSourcePoint.PointText + "" + dataSourcePoint.PointValue + ",");
}
if (this.lblTotal.Text != "累计值为:")
{
this.lblTotal.Text = this.lblTotal.Text.Substring(0, this.lblTotal.Text.LastIndexOf(","));
}
}
else
{
this.lblTotal.Visible = false;
chart1.Series.Add(dataSourceTeam.DataPointName);
chart1.Series[dataSourceTeam.DataPointName].ChartType = dataSourceChart.ChartType;
chart1.Series[dataSourceTeam.DataPointName].Name = dataSourceTeam.DataPointName;
chart1.Series[dataSourceTeam.DataPointName].IsValueShownAsLabel = true;
chart1.Series[dataSourceTeam.DataPointName].BorderWidth = 2;
chart1.Series[dataSourceTeam.DataPointName].Label = "#PERCENT{P1}";
chart1.Series[dataSourceTeam.DataPointName]["DrawingStyle"] = "Cylinder";
int m = 0;
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
chart1.Series[dataSourceTeam.DataPointName].Points.AddXY(dataSourcePoint.PointText, dataSourcePoint.PointValue);
chart1.Series[dataSourceTeam.DataPointName].Points[m].LegendText = dataSourcePoint.PointText + "#PERCENT{P1}";
m++;
}
}
}
}
else
{
foreach (Model.DataSourceTeam dataSourceTeam in dataSourceChart.DataSourceTeams)
{
this.lblTotal.Text = "累计值为:";
if (dataSourceTeam.DataPointName == "累计")
{
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
this.lblTotal.Text += (dataSourcePoint.PointText + "" + dataSourcePoint.PointValue + ",");
}
if (this.lblTotal.Text != "累计值为:")
{
this.lblTotal.Text = this.lblTotal.Text.Substring(0, this.lblTotal.Text.LastIndexOf(","));
}
}
else
{
this.lblTotal.Visible = false;
chart1.Series.Add(dataSourceTeam.DataPointName);
chart1.Series[dataSourceTeam.DataPointName].ChartType = dataSourceChart.ChartType;
chart1.Series[dataSourceTeam.DataPointName].Name = dataSourceTeam.DataPointName;
chart1.Series[dataSourceTeam.DataPointName].IsValueShownAsLabel = true;
chart1.Series[dataSourceTeam.DataPointName].BorderWidth = 2;
chart1.Series[dataSourceTeam.DataPointName]["DrawingStyle"] = "Cylinder";
if (dataSourceTeam.DataPointName == "Actual Finished")
{
chart1.Series[dataSourceTeam.DataPointName].Color = Color.Red;
}
else if (dataSourceTeam.DataPointName == "Plan Finished")
{
chart1.Series[dataSourceTeam.DataPointName].Color = Color.Blue;
}
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
chart1.Series[dataSourceTeam.DataPointName].Points.AddXY(dataSourcePoint.PointText, dataSourcePoint.PointValue);
}
}
}
}
Controls.Add(chart1);
}
/// <summary>
/// 创建自定义Chart图形
/// </summary>
/// <param name="dt">数据源</param>
/// <param name="width">宽度</param>
/// <param name="height">高度</param>
public void CreateMaryChart(DataTable dt, int width, int height, string projectShortName)
{
Chart chart1 = new Chart();
chart1.ID = "chart1";
chart1.BackColor = Color.WhiteSmoke;
chart1.ImageLocation = "~/Images/ChartPic_#SEQ(300,3)";
chart1.BorderlineDashStyle = ChartDashStyle.Solid;
chart1.Palette = ChartColorPalette.BrightPastel;
chart1.BackSecondaryColor = Color.White;
chart1.BackGradientStyle = GradientStyle.TopBottom;
chart1.BorderWidth = 2;
chart1.BorderColor = Color.FromArgb(26, 59, 105);
chart1.ImageType = ChartImageType.Png;
chart1.Width = width;
chart1.Height = height;
Title title = new Title();
title.Text = "赢得值曲线";
if (!string.IsNullOrEmpty(projectShortName))
{
title.Text = projectShortName + "赢得值曲线";
}
title.Text = BLL.Funs.GetSubStr(title.Text, 30);
title.ToolTip = title.Text;
title.ShadowColor = Color.FromArgb(32, 0, 0, 0);
title.Font = new Font("Trebuchet MS", 10F, FontStyle.Bold);
title.ShadowOffset = 3;
title.ForeColor = Color.FromArgb(26, 59, 105);
chart1.Titles.Add(title);
Legend legend1 = new Legend();
legend1.TextWrapThreshold = 1;
legend1.Docking = Docking.Right;
legend1.Alignment = StringAlignment.Center;
legend1.BackColor = Color.Transparent;
legend1.Font = new Font(new FontFamily("Trebuchet MS"), 8);
legend1.LegendStyle = LegendStyle.Column;
legend1.IsEquallySpacedItems = true;
legend1.IsTextAutoFit = false;
chart1.Legends.Add(legend1);
ChartArea chartArea = new ChartArea();
chartArea.BackColor = Color.Transparent;
chartArea.AxisX.IsLabelAutoFit = false;
chartArea.AxisY.IsLabelAutoFit = false;
chartArea.AxisX.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LabelStyle.Format = "#(万元)";
chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.Interval = 1;
chartArea.Area3DStyle.Enable3D = false;
chart1.ChartAreas.Add(chartArea);
chart1.Series.Add("本月计划工作预算费用-BCWS");
chart1.Series.Add("本月已完工作预算费用-BCWP");
chart1.Series.Add("本月已完工作实际费用-ACWP");
chart1.Series.Add("累计计划工作预算费用-BCWS");
chart1.Series.Add("累计已完工作预算费用-BCWP");
chart1.Series.Add("累计已完工作实际费用-ACWP");
DataView dv = dt.DefaultView;
chart1.Series["本月计划工作预算费用-BCWS"].Points.DataBindXY(dv, "月份", dv, "本月计划工作预算费用-BCWS");
chart1.Series["本月计划工作预算费用-BCWS"].ChartType = SeriesChartType.Column;
for (int i = 0; i < chart1.Series["本月计划工作预算费用-BCWS"].Points.Count; i++)
{
chart1.Series["本月计划工作预算费用-BCWS"].Points[i].ToolTip = "本月计划工作预算费用-BCWS\n#VALX\n#VALY";
}
chart1.Series["本月已完工作预算费用-BCWP"].Points.DataBindXY(dv, "月份", dv, "本月已完工作预算费用-BCWP");
chart1.Series["本月已完工作预算费用-BCWP"].ChartType = SeriesChartType.Column;
for (int i = 0; i < chart1.Series["本月已完工作预算费用-BCWP"].Points.Count; i++)
{
chart1.Series["本月已完工作预算费用-BCWP"].Points[i].ToolTip = "本月已完工作预算费用-BCWP\n#VALX\n#VALY";
}
chart1.Series["本月已完工作实际费用-ACWP"].Points.DataBindXY(dv, "月份", dv, "本月已完工作实际费用-ACWP");
chart1.Series["本月已完工作实际费用-ACWP"].ChartType = SeriesChartType.Column;
for (int i = 0; i < chart1.Series["本月已完工作实际费用-ACWP"].Points.Count; i++)
{
chart1.Series["本月已完工作实际费用-ACWP"].Points[i].ToolTip = "本月已完工作实际费用-ACWP\n#VALX\n#VALY";
}
chart1.Series["累计计划工作预算费用-BCWS"].Points.DataBindXY(dv, "月份", dv, "累计计划工作预算费用-BCWS");
chart1.Series["累计计划工作预算费用-BCWS"].ChartType = SeriesChartType.Spline;
chart1.Series["累计计划工作预算费用-BCWS"].Color = Color.Blue;
chart1.Series["累计计划工作预算费用-BCWS"].BorderWidth = 2;
for (int i = 0; i < chart1.Series["累计计划工作预算费用-BCWS"].Points.Count; i++)
{
chart1.Series["累计计划工作预算费用-BCWS"].Points[i].ToolTip = "累计计划工作预算费用-BCWS\n#VALX\n#VALY";
}
chart1.Series["累计已完工作预算费用-BCWP"].Points.DataBindXY(dv, "月份", dv, "累计已完工作预算费用-BCWP");
chart1.Series["累计已完工作预算费用-BCWP"].ChartType = SeriesChartType.Spline;
chart1.Series["累计已完工作预算费用-BCWP"].Color = Color.MediumSeaGreen;
chart1.Series["累计已完工作预算费用-BCWP"].BorderWidth = 2;
for (int i = 0; i < chart1.Series["累计已完工作预算费用-BCWP"].Points.Count; i++)
{
chart1.Series["累计已完工作预算费用-BCWP"].Points[i].ToolTip = "累计已完工作预算费用-BCWP\n#VALX\n#VALY";
}
chart1.Series["累计已完工作实际费用-ACWP"].Points.DataBindXY(dv, "月份", dv, "累计已完工作实际费用-ACWP");
chart1.Series["累计已完工作实际费用-ACWP"].ChartType = SeriesChartType.Spline;
chart1.Series["累计已完工作实际费用-ACWP"].Color = Color.Red;
chart1.Series["累计已完工作实际费用-ACWP"].BorderWidth = 2;
for (int i = 0; i < chart1.Series["累计已完工作实际费用-ACWP"].Points.Count; i++)
{
chart1.Series["累计已完工作实际费用-ACWP"].Points[i].ToolTip = "累计已完工作实际费用-ACWP\n#VALX\n#VALY";
}
Controls.Add(chart1);
}
/// <summary>
/// 创建Chart图形百分比
/// </summary>
/// <param name="dataSourceChart">Chart类</param>
public void CreateChartBaifenbi(Model.DataSourceChart dataSourceChart)
{
Chart chart1 = new Chart
{
ID = "chart1",
BackColor = Color.WhiteSmoke,
ImageLocation = "~/Images/ChartPic_#SEQ(300,3)",
BorderlineDashStyle = ChartDashStyle.Solid,
Palette = ChartColorPalette.BrightPastel,
BackSecondaryColor = Color.White,
BackGradientStyle = GradientStyle.TopBottom,
BorderWidth = 2,
BorderColor = Color.FromArgb(26, 59, 105),
ImageType = ChartImageType.Png,
Width = dataSourceChart.Width,
Height = dataSourceChart.Height
};
Title title = new Title
{
Text = dataSourceChart.Title,
ShadowColor = Color.FromArgb(32, 0, 0, 0),
Font = new Font("Trebuchet MS", 10F, FontStyle.Bold),
ShadowOffset = 3,
ForeColor = Color.FromArgb(26, 59, 105)
};
chart1.Titles.Add(title);
Legend legend = new Legend
{
Name = dataSourceChart.Title,
TextWrapThreshold = 1,
Docking = Docking.Top,
Alignment = StringAlignment.Center,
BackColor = Color.Transparent,
Font = new Font(new FontFamily("Trebuchet MS"), 8),
LegendStyle = LegendStyle.Row,
IsEquallySpacedItems = true,
IsTextAutoFit = false
};
chart1.Legends.Add(legend);
ChartArea chartArea = new ChartArea
{
Name = dataSourceChart.Title,
BackColor = Color.Transparent
};
chartArea.AxisX.IsLabelAutoFit = false;
chartArea.AxisY.IsLabelAutoFit = false;
chartArea.AxisX.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.Interval = 1;
chartArea.Area3DStyle.Enable3D = dataSourceChart.IsNotEnable3D;
chartArea.AxisY.LabelStyle.Format = " 0% "; // 格式化,为了显示百分号
chart1.ChartAreas.Add(chartArea);
if (dataSourceChart.ChartType == SeriesChartType.Pie)
{
foreach (Model.DataSourceTeam dataSourceTeam in dataSourceChart.DataSourceTeams)
{
this.lblTotal.Text = "累计值为:";
if (dataSourceTeam.DataPointName == "累计")
{
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
this.lblTotal.Text += (dataSourcePoint.PointText + "" + dataSourcePoint.PointValue + ",");
}
if (this.lblTotal.Text != "累计值为:")
{
this.lblTotal.Text = this.lblTotal.Text.Substring(0, this.lblTotal.Text.LastIndexOf(","));
}
}
else
{
this.lblTotal.Visible = false;
chart1.Series.Add(dataSourceTeam.DataPointName);
chart1.Series[dataSourceTeam.DataPointName].ChartType = dataSourceChart.ChartType;
chart1.Series[dataSourceTeam.DataPointName].Name = dataSourceTeam.DataPointName;
chart1.Series[dataSourceTeam.DataPointName].IsValueShownAsLabel = true;
chart1.Series[dataSourceTeam.DataPointName].BorderWidth = 2;
chart1.Series[dataSourceTeam.DataPointName].Label = "#PERCENT{P1}";
chart1.Series[dataSourceTeam.DataPointName]["DrawingStyle"] = "Cylinder";
int m = 0;
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
chart1.Series[dataSourceTeam.DataPointName].Points.AddXY(dataSourcePoint.PointText, dataSourcePoint.PointValue);
chart1.Series[dataSourceTeam.DataPointName].Points[m].LegendText = dataSourcePoint.PointText + "#PERCENT{P1}";
m++;
}
}
}
}
else
{
foreach (Model.DataSourceTeam dataSourceTeam in dataSourceChart.DataSourceTeams)
{
this.lblTotal.Text = "累计值为:";
if (dataSourceTeam.DataPointName == "累计")
{
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
this.lblTotal.Text += (dataSourcePoint.PointText + "" + dataSourcePoint.PointValue + ",");
}
if (this.lblTotal.Text != "累计值为:")
{
this.lblTotal.Text = this.lblTotal.Text.Substring(0, this.lblTotal.Text.LastIndexOf(","));
}
}
else
{
this.lblTotal.Visible = false;
chart1.Series.Add(dataSourceTeam.DataPointName);
chart1.Series[dataSourceTeam.DataPointName].ChartType = dataSourceChart.ChartType;
chart1.Series[dataSourceTeam.DataPointName].Name = dataSourceTeam.DataPointName;
chart1.Series[dataSourceTeam.DataPointName].IsValueShownAsLabel = true;
chart1.Series[dataSourceTeam.DataPointName].BorderWidth = 2;
chart1.Series[dataSourceTeam.DataPointName]["DrawingStyle"] = "Cylinder";
chart1.Series[dataSourceTeam.DataPointName].Label = "#VAL{P}";//设置标签文本 (在设计期通过属性窗口编辑更直观)
chart1.Series[dataSourceTeam.DataPointName].IsValueShownAsLabel = true;//显示标签
if (dataSourceTeam.DataPointName == "Actual Finished(%)")
{
chart1.Series[dataSourceTeam.DataPointName].Color = Color.Red;
}
else {
chart1.Series[dataSourceTeam.DataPointName].Color = Color.Blue;
}
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
chart1.Series[dataSourceTeam.DataPointName].Points.AddXY(dataSourcePoint.PointText, dataSourcePoint.PointValue);
}
}
}
}
Controls.Add(chart1);
}
/// <summary>
/// 创建Chart图形百分比
/// </summary>
/// <param name="dataSourceChart">Chart类</param>
public void CreateChartPunchlistFrom(Model.DataSourceChart dataSourceChart)
{
Chart chart1 = new Chart
{
ID = "chart1",
BackColor = Color.WhiteSmoke,
ImageLocation = "~/Images/ChartPic_#SEQ(300,3)",
BorderlineDashStyle = ChartDashStyle.Solid,
Palette = ChartColorPalette.BrightPastel,
BackSecondaryColor = Color.White,
BackGradientStyle = GradientStyle.TopBottom,
BorderWidth = 2,
BorderColor = Color.FromArgb(26, 59, 105),
ImageType = ChartImageType.Png,
Width = dataSourceChart.Width,
Height = dataSourceChart.Height
};
Title title = new Title
{
Text = dataSourceChart.Title,
ShadowColor = Color.FromArgb(32, 0, 0, 0),
Font = new Font("Trebuchet MS", 10F, FontStyle.Bold),
ShadowOffset = 3,
ForeColor = Color.FromArgb(26, 59, 105)
};
chart1.Titles.Add(title);
Legend legend = new Legend
{
Name = dataSourceChart.Title,
TextWrapThreshold = 1,
Docking = Docking.Top,
Alignment = StringAlignment.Center,
BackColor = Color.Transparent,
Font = new Font(new FontFamily("Trebuchet MS"), 8),
LegendStyle = LegendStyle.Row,
IsEquallySpacedItems = true,
IsTextAutoFit = false
};
chart1.Legends.Add(legend);
ChartArea chartArea = new ChartArea
{
Name = dataSourceChart.Title,
BackColor = Color.Transparent
};
chartArea.AxisX.IsLabelAutoFit = false;
chartArea.AxisY.IsLabelAutoFit = false;
chartArea.AxisX.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.Interval = 1;
chartArea.Area3DStyle.Enable3D = dataSourceChart.IsNotEnable3D;
chartArea.AxisY.LabelStyle.Format = " 0% "; // 格式化,为了显示百分号
chart1.ChartAreas.Add(chartArea);
if (dataSourceChart.ChartType == SeriesChartType.Pie)
{
foreach (Model.DataSourceTeam dataSourceTeam in dataSourceChart.DataSourceTeams)
{
this.lblTotal.Text = "累计值为:";
if (dataSourceTeam.DataPointName == "累计")
{
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
this.lblTotal.Text += (dataSourcePoint.PointText + "" + dataSourcePoint.PointValue + ",");
}
if (this.lblTotal.Text != "累计值为:")
{
this.lblTotal.Text = this.lblTotal.Text.Substring(0, this.lblTotal.Text.LastIndexOf(","));
}
}
else
{
this.lblTotal.Visible = false;
chart1.Series.Add(dataSourceTeam.DataPointName);
chart1.Series[dataSourceTeam.DataPointName].ChartType = dataSourceChart.ChartType;
chart1.Series[dataSourceTeam.DataPointName].Name = dataSourceTeam.DataPointName;
chart1.Series[dataSourceTeam.DataPointName].IsValueShownAsLabel = true;
chart1.Series[dataSourceTeam.DataPointName].BorderWidth = 2;
chart1.Series[dataSourceTeam.DataPointName].Label = "#PERCENT{P1}";
chart1.Series[dataSourceTeam.DataPointName]["DrawingStyle"] = "Cylinder";
int m = 0;
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
chart1.Series[dataSourceTeam.DataPointName].Points.AddXY(dataSourcePoint.PointText, dataSourcePoint.PointValue);
chart1.Series[dataSourceTeam.DataPointName].Points[m].LegendText = dataSourcePoint.PointText + "#PERCENT{P1}";
m++;
}
}
}
}
else
{
foreach (Model.DataSourceTeam dataSourceTeam in dataSourceChart.DataSourceTeams)
{
this.lblTotal.Text = "累计值为:";
if (dataSourceTeam.DataPointName == "累计")
{
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
this.lblTotal.Text += (dataSourcePoint.PointText + "" + dataSourcePoint.PointValue + ",");
}
if (this.lblTotal.Text != "累计值为:")
{
this.lblTotal.Text = this.lblTotal.Text.Substring(0, this.lblTotal.Text.LastIndexOf(","));
}
}
else
{
this.lblTotal.Visible = false;
chart1.Series.Add(dataSourceTeam.DataPointName);
chart1.Series[dataSourceTeam.DataPointName].ChartType = dataSourceChart.ChartType;
chart1.Series[dataSourceTeam.DataPointName].Name = dataSourceTeam.DataPointName;
chart1.Series[dataSourceTeam.DataPointName].IsValueShownAsLabel = true;
chart1.Series[dataSourceTeam.DataPointName].BorderWidth = 2;
chart1.Series[dataSourceTeam.DataPointName]["DrawingStyle"] = "Cylinder";
chart1.Series[dataSourceTeam.DataPointName].Label = "#VAL{P}";//设置标签文本 (在设计期通过属性窗口编辑更直观)
chart1.Series[dataSourceTeam.DataPointName].IsValueShownAsLabel = true;//显示标签
foreach (Model.DataSourcePoint dataSourcePoint in dataSourceTeam.DataSourcePoints)
{
chart1.Series[dataSourceTeam.DataPointName].Points.AddXY(dataSourcePoint.PointText, dataSourcePoint.PointValue);
}
}
}
}
Controls.Add(chart1);
}
}
}