| 
									
										
										
										
											2024-01-25 15:21:19 +08:00
										 |  |  |  | namespace BLL | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     using System.Collections.Generic; | 
					
						
							|  |  |  |  |     using System.Data; | 
					
						
							|  |  |  |  |     using System.Web.UI.DataVisualization.Charting; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /// <summary> | 
					
						
							|  |  |  |  |     /// 自定义图形通用类 | 
					
						
							|  |  |  |  |     /// </summary> | 
					
						
							|  |  |  |  |     public static class ChartControlService | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         #region 给chart类赋值 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 给chart类赋值 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="dt">数据源表值</param> | 
					
						
							|  |  |  |  |         /// <param name="title">图标题</param> | 
					
						
							|  |  |  |  |         /// <param name="type">图类型</param> | 
					
						
							|  |  |  |  |         /// <param name="width">图显示宽度</param> | 
					
						
							|  |  |  |  |         /// <param name="height">图显示高度</param> | 
					
						
							|  |  |  |  |         /// <param name="isNotEnable3D">是否显示3D效果</param> | 
					
						
							|  |  |  |  |         /// <returns>返回图</returns> | 
					
						
							|  |  |  |  |         public static Model.DataSourceChart GetDataSourceChart(DataTable dt, string title, string type, int width, int height, bool isNotEnable3D) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.DataSourceChart dataSourceChart = new Model.DataSourceChart | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Width = width, | 
					
						
							|  |  |  |  |                 Height = height, | 
					
						
							|  |  |  |  |                 Title = title, | 
					
						
							|  |  |  |  |                 IsNotEnable3D = isNotEnable3D, | 
					
						
							|  |  |  |  |                 ChartType = GetChartType(type) | 
					
						
							|  |  |  |  |             }; | 
					
						
							|  |  |  |  |             List<Model.DataSourceTeam> dataSourceTeams = new List<Model.DataSourceTeam>(); | 
					
						
							|  |  |  |  |             for (int i = 1; i < dt.Columns.Count; i++) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Model.DataSourceTeam dataSourceTeam = new Model.DataSourceTeam | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     DataPointName = dt.Columns[i].ToString() | 
					
						
							|  |  |  |  |                 }; | 
					
						
							|  |  |  |  |                 List<Model.DataSourcePoint> dataSourcePoints = new List<Model.DataSourcePoint>(); | 
					
						
							|  |  |  |  |                 for (int j = 0; j < dt.Rows.Count; j++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     Model.DataSourcePoint dataSourcePoint = new Model.DataSourcePoint | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         PointText = dt.Rows[j][0].ToString(), | 
					
						
							|  |  |  |  |                         PointValue = dt.Rows[j][i].ToString() | 
					
						
							|  |  |  |  |                     }; | 
					
						
							|  |  |  |  |                     dataSourcePoints.Add(dataSourcePoint); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dataSourceTeam.DataSourcePoints = dataSourcePoints; | 
					
						
							|  |  |  |  |                 dataSourceTeams.Add(dataSourceTeam); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             dataSourceChart.DataSourceTeams = dataSourceTeams; | 
					
						
							|  |  |  |  |             return dataSourceChart; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 显示类型 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="chartType"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         public static SeriesChartType GetChartType(string chartType) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             SeriesChartType chart = SeriesChartType.Column; | 
					
						
							|  |  |  |  |             if (chartType == "Column") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.Column; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (chartType == "Line") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.Line; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (chartType == "StackedArea") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.StackedArea; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (chartType == "StackedArea100") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.StackedArea100; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (chartType == "StepLine") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.StepLine; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (chartType == "Spline") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.Spline; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (chartType == "Stock") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.Stock; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (chartType == "Candlestick") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.Candlestick; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (chartType == "Pie") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.Pie; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (chartType == "Polar") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.Polar; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (chartType == "ErrorBar") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 chart = SeriesChartType.ErrorBar; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return chart; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							| 
									
										
										
										
											2024-02-02 16:23:51 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 给chart类赋值 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="dt">数据源表值</param> | 
					
						
							|  |  |  |  |         /// <param name="title">图标题</param> | 
					
						
							|  |  |  |  |         /// <param name="type">图类型</param> | 
					
						
							|  |  |  |  |         /// <param name="width">图显示宽度</param> | 
					
						
							|  |  |  |  |         /// <param name="height">图显示高度</param> | 
					
						
							|  |  |  |  |         /// <param name="isNotEnable3D">是否显示3D效果</param> | 
					
						
							|  |  |  |  |         /// <returns>返回图</returns> | 
					
						
							|  |  |  |  |         public static Model.DataSourceChart GetDataSourceChartByYijiao(DataTable dt, string title, string type, int width, int height, bool isNotEnable3D) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.DataSourceChart dataSourceChart = new Model.DataSourceChart | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Width = width, | 
					
						
							|  |  |  |  |                 Height = height, | 
					
						
							|  |  |  |  |                 Title = title, | 
					
						
							|  |  |  |  |                 IsNotEnable3D = isNotEnable3D, | 
					
						
							|  |  |  |  |                 ChartType = GetChartType(type) | 
					
						
							|  |  |  |  |             }; | 
					
						
							|  |  |  |  |             List<Model.DataSourceTeam> dataSourceTeams = new List<Model.DataSourceTeam>(); | 
					
						
							|  |  |  |  |             for (int i = 1; i < dt.Columns.Count; i++) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Model.DataSourceTeam dataSourceTeam = new Model.DataSourceTeam | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     DataPointName = dt.Columns[i].ToString() | 
					
						
							|  |  |  |  |                 }; | 
					
						
							|  |  |  |  |                 List<Model.DataSourcePoint> dataSourcePoints = new List<Model.DataSourcePoint>(); | 
					
						
							|  |  |  |  |                 for (int j = 0; j < dt.Rows.Count; j++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     Model.DataSourcePoint dataSourcePoint = new Model.DataSourcePoint | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         PointText = dt.Rows[j][0].ToString(), | 
					
						
							|  |  |  |  |                         PointValue = dt.Rows[j][i].ToString() | 
					
						
							|  |  |  |  |                     }; | 
					
						
							|  |  |  |  |                     dataSourcePoints.Add(dataSourcePoint); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dataSourceTeam.DataSourcePoints = dataSourcePoints; | 
					
						
							|  |  |  |  |                 dataSourceTeams.Add(dataSourceTeam); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             dataSourceChart.DataSourceTeams = dataSourceTeams; | 
					
						
							|  |  |  |  |             return dataSourceChart; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-01-25 15:21:19 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | } |