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
|
|||
|
}
|
|||
|
}
|