114 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			114 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								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
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |