2023-09-01
This commit is contained in:
@@ -1,6 +1,12 @@
|
||||
using System;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Web.UI.DataVisualization.Charting;
|
||||
|
||||
namespace Web.Controls
|
||||
@@ -367,5 +373,124 @@ namespace Web.Controls
|
||||
|
||||
Controls.Add(chart1);
|
||||
}
|
||||
|
||||
public void CreateMaryChartHTGL(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("BCWS产值");
|
||||
chart1.Series.Add("BCWS百分比");
|
||||
chart1.Series.Add("ACWP工程量");
|
||||
chart1.Series.Add("ACWP产值");
|
||||
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["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["BCWS百分比"].Points.DataBindXY(dv, "月份", dv, "BCWS百分比");
|
||||
chart1.Series["BCWS百分比"].Color = Color.MediumSeaGreen;
|
||||
chart1.Series["BCWS百分比"].BorderWidth = 2;
|
||||
chart1.Series["BCWS百分比"].ChartType =SeriesChartType.Spline;
|
||||
|
||||
for (int i = 0; i < chart1.Series["BCWS百分比"].Points.Count; i++)
|
||||
{
|
||||
chart1.Series["BCWS百分比"].Points[i].ToolTip = "BCWS百分比\n#VALX\n#VALY";
|
||||
}
|
||||
|
||||
|
||||
chart1.Series["ACWP工程量"].Points.DataBindXY(dv, "月份", dv, "ACWP工程量");
|
||||
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";
|
||||
}
|
||||
|
||||
chart1.Series["ACWP产值"].Points.DataBindXY(dv, "月份", dv, "BCWS工程量");
|
||||
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["ACWP百分比"].Points.DataBindXY(dv, "月份", dv, "BCWS工程量");
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user