日韩精品免费一区二区三区_久久精品国产三级不卡_免费观看中文字幕_好男人社区神马在线观看www

注冊|登錄

聯系電話:024-31891684  13390130939
沈陽軟件公司--沈陽軟件定制

沈陽軟件開發_沈陽軟件公司_沈陽軟件定制/軟件/最新技術

Latest technology最新技術

建立RadControls圖表方法

瀏覽量:4359

#region 圖表方法

/// <summary>
/// 創建圖表數據集
/// </summary>
public static DataSet CreateChartDataSet()
{
DataSet dsChart = new DataSet();
// 添加基本表
DataTable dtChartBase = new DataTable("ChartBase");
dtChartBase.Columns.Add("Title", typeof(string));
dtChartBase.Columns.Add("Show3D", typeof(bool)).DefaultValue = false;
dtChartBase.Columns.Add("ShowLegend", typeof(bool)).DefaultValue = false;
dtChartBase.Columns.Add("ChartType", typeof(string));
dtChartBase.Columns.Add("Width", typeof(string));
dtChartBase.Columns.Add("Height", typeof(string));
dsChart.Tables.Add(dtChartBase);
// 添加軸表
DataTable dtChartAxis = new DataTable("ChartAxis");
dtChartAxis.Columns.Add("XTitle", typeof(string));
dtChartAxis.Columns.Add("YTitle", typeof(string));
dtChartAxis.Columns.Add("XStartFromZero", typeof(bool)).DefaultValue = false;
dtChartAxis.Columns.Add("YStartFromZero", typeof(bool)).DefaultValue = false;
dtChartAxis.Columns.Add("XValueType", typeof(ChartValueTypes)).DefaultValue = ChartValueTypes.Double;
dtChartAxis.Columns.Add("YValueType", typeof(ChartValueTypes)).DefaultValue = ChartValueTypes.Double;
dtChartAxis.Columns.Add("XFormat", typeof(string)).DefaultValue = "N2";
dtChartAxis.Columns.Add("YFormat", typeof(string)).DefaultValue = "N2";
dtChartAxis.Columns.Add("XAngle", typeof(int)).DefaultValue = 30;
dtChartAxis.Columns.Add("YAngle", typeof(int)).DefaultValue = 30;
dsChart.Tables.Add(dtChartAxis);
// 添加數據表
DataTable dtSeriesData = new DataTable("SeriesData");
dtSeriesData.Columns.Add("Series", typeof(string));
dtSeriesData.Columns.Add("XValue", typeof(string));
dtSeriesData.Columns.Add("YValue", typeof(string));
dsChart.Tables.Add(dtSeriesData);

// 添加明細表
DataTable dtSeriesDetail = new DataTable("SeriesDetail");
dtSeriesDetail.Columns.Add("Series", typeof(string));
dtSeriesDetail.Columns.Add("ChartType", typeof(string));
dtSeriesDetail.Columns.Add("ShowLabelAsValue", typeof(bool)).DefaultValue = false;
dsChart.Tables.Add(dtSeriesDetail);

dsChart.RemotingFormat = System.Data.SerializationFormat.Binary;
return dsChart;
}
/// <summary>
/// 顯示圖表
/// </summary>
/// <param name="chart">圖表</param>
/// <param name="ds">數據集</param>
public static void ShowChart(Dundas.Charting.WebControl.Chart chart, DataSet ds)
{
if (ds == null)
{
chart.ImageUrl = string.Empty;
return;
}

DataTable dtChartBase = ds.Tables["ChartBase"];
DataTable dtChartAxis = ds.Tables["ChartAxis"];
DataTable dtSeriesData = ds.Tables["SeriesData"];
DataTable dtSeriesDetail = ds.Tables["SeriesDetail"];
Font fontTitle = new Font("Trebuchet MS", 10.5f, FontStyle.Bold, GraphicsUnit.Pixel);
Font fontLegend = new Font("Trebuchet MS", 10.5f, FontStyle.Regular, GraphicsUnit.Pixel);

// 添加圖表標題
chart.Titles.Clear();
Dundas.Charting.WebControl.Title title = new Title("Title1");
title.Text = dtChartBase.Rows[0]["Title"].ToString();
title.Font = fontTitle;
chart.Titles.Add(title);
// 是否顯示三維圖表
bool bShow3D = Convert.ToBoolean(dtChartBase.Rows[0]["Show3D"]);
// 設置三維風格
chart.ChartAreas["Default"].Area3DStyle.Enable3D = bShow3D;
// 是否顯示圖例
bool bShowLegend = Convert.ToBoolean(dtChartBase.Rows[0]["ShowLegend"]);
if (bShowLegend)
{
chart.Legends.Clear();
Dundas.Charting.WebControl.Legend legend = new Legend("Default");
legend.AutoFitText = false;
legend.BackColor = System.Drawing.Color.Transparent;
legend.Enabled = true;
legend.Font = fontLegend;
chart.Legends.Add(legend);
}
else
{
chart.Legends.Clear();
}
string strDefaultChartType = dtChartBase.Rows[0]["ChartType"].ToString();
if (dtChartBase.Rows[0]["Width"] != DBNull.Value)
{
chart.Width = new Unit(dtChartBase.Rows[0]["Width"].ToString());
}
if (dtChartBase.Rows[0]["Height"] != DBNull.Value)
{
chart.Height = new Unit(dtChartBase.Rows[0]["Height"].ToString());
}
// 添加橫軸、縱軸標題
chart.ChartAreas["Default"].AxisX.Title = dtChartAxis.Rows[0]["XTitle"].ToString();
chart.ChartAreas["Default"].AxisY.Title = dtChartAxis.Rows[0]["YTitle"].ToString();
chart.ChartAreas["Default"].AxisX.TitleFont = fontTitle;
chart.ChartAreas["Default"].AxisY.TitleFont = fontTitle;
// 設置橫軸、縱軸是否從0開始
chart.ChartAreas["Default"].AxisX.StartFromZero = Convert.ToBoolean(dtChartAxis.Rows[0]["XStartFromZero"]);
chart.ChartAreas["Default"].AxisY.StartFromZero = Convert.ToBoolean(dtChartAxis.Rows[0]["YStartFromZero"]);
// 獲取橫軸、縱軸數據類型
ChartValueTypes xValueType = (ChartValueTypes)Convert.ToInt32(dtChartAxis.Rows[0]["XValueType"]);
ChartValueTypes yValueType = (ChartValueTypes)Convert.ToInt32(dtChartAxis.Rows[0]["YValueType"]);
string xFormat = dtChartAxis.Rows[0]["XFormat"].ToString();
string yFormat = dtChartAxis.Rows[0]["YFormat"].ToString();
chart.ChartAreas["Default"].Area3DStyle.XAngle = Convert.ToInt32(dtChartAxis.Rows[0]["XAngle"]);
chart.ChartAreas["Default"].Area3DStyle.YAngle = Convert.ToInt32(dtChartAxis.Rows[0]["YAngle"]);

// DISTINCT字段數組
string[] myColumnNames = { "Series" };
// 準備填充的序列
DataTable dtSeriesList = dtSeriesData.DefaultView.ToTable(true, myColumnNames);
// 填充數據
chart.Series.Clear();
foreach (DataRow dr1 in dtSeriesList.Rows)
{
string strSeries = dr1["Series"].ToString();
Series series = new Series(strSeries);
// 組織序列數據
DataTable dtSeries = dtSeriesData.Clone();
dtSeries.Columns.Remove("Series");
foreach (DataRow dr2 in dtSeriesData.Select("Series='" + strSeries + "'"))
{
dtSeries.ImportRow(dr2);
}

// 設置序列類型
DataRow[] drRows = dtSeriesDetail.Select("Series='" + strSeries + "'");
if (drRows.Length > 0)
{
string strChartType = drRows[0]["ChartType"].ToString();
if (!string.IsNullOrEmpty(strChartType))
{
series.Type = (SeriesChartType)Enum.Parse(typeof(SeriesChartType), strChartType, true);
}
else if (!string.IsNullOrEmpty(strDefaultChartType))
{
series.Type = (SeriesChartType)Enum.Parse(typeof(SeriesChartType), strDefaultChartType, true);
}
// 設置序列標簽
series.ShowLabelAsValue = Convert.ToBoolean(drRows[0]["ShowLabelAsValue"]);
}
else if (!string.IsNullOrEmpty(strDefaultChartType))
{
series.Type = (SeriesChartType)Enum.Parse(typeof(SeriesChartType), strDefaultChartType, true);
}

switch (series.Type)
{
case SeriesChartType.Area://面積圖
break;
case SeriesChartType.Bar://條形圖
break;
case SeriesChartType.BoxPlot://盒形圖
break;
case SeriesChartType.Bubble://泡泡圖
break;
case SeriesChartType.CandleStick:
break;
case SeriesChartType.Column://柱狀圖
series["DrawingStyle"] = "Default";
series["PointWidth"] = "1.0";
break;
case SeriesChartType.Doughnut://圓環圖
series["PieLabelStyle"] = "Inside";
series["PieDrawingStyle"] = "SoftEdge";
series["DoughnutRadius"] = "60";
break;
case SeriesChartType.ErrorBar:
break;
case SeriesChartType.FastLine:
break;
case SeriesChartType.FastPoint:
break;
case SeriesChartType.Funnel:
break;
case SeriesChartType.Gantt:
break;
case SeriesChartType.Kagi:
break;
case SeriesChartType.Line://折線圖
break;
case SeriesChartType.Pie://餅形圖
series["PieLabelStyle"] = "Inside";
series["PieDrawingStyle"] = "SoftEdge";
break;
case SeriesChartType.Point://散點圖
break;
case SeriesChartType.PointAndFigure:
break;
case SeriesChartType.Polar:
break;
case SeriesChartType.Pyramid:
break;
case SeriesChartType.Radar://雷達圖
break;
case SeriesChartType.Range:
break;
case SeriesChartType.RangeColumn:
break;
case SeriesChartType.Renko:
break;
case SeriesChartType.Rose:
break;
case SeriesChartType.Spline://曲線圖
break;
case SeriesChartType.SplineArea:
break;
case SeriesChartType.SplineRange:
break;
case SeriesChartType.StackedArea:
break;
case SeriesChartType.StackedArea100:
break;
case SeriesChartType.StackedBar:
break;
case SeriesChartType.StackedBar100:
break;
case SeriesChartType.StackedColumn:
break;
case SeriesChartType.StackedColumn100:
break;
case SeriesChartType.StackedRose:
break;
case SeriesChartType.StepLine:
break;
case SeriesChartType.Stock:
break;
case SeriesChartType.ThreeLineBreak:
break;
default:
break;
}
series.Points.DataBind(dtSeries.DefaultView, "XValue", "YValue", string.Empty);
series.XValueType = xValueType;
series.YValueType = yValueType;
chart.ChartAreas["Default"].AxisX.LabelStyle.Format = xFormat;
chart.ChartAreas["Default"].AxisX.LabelStyle.Format = yFormat;
if (yValueType == ChartValueTypes.Double || yValueType == ChartValueTypes.Single)
{
if (yFormat.Length >= 2)
{
series.LabelFormat = "{0:F" + yFormat.Substring(1, yFormat.Length - 1) + "}";
}
}
// 設置三維風格
if (bShow3D)
{
series.BorderWidth = 1;
chart.ChartAreas["Default"].Area3DStyle.RightAngleAxes = true;
chart.ChartAreas["Default"].Area3DStyle.Clustered = true;
}
else
{
series.BorderWidth = 3;
}
// 添加序列
chart.Series.Add(series);
}
}
/// <summary>
/// 另存為 Excel
/// </summary>
/// <param name="title">標題</param>
/// <param name="dt">數據表</param>
/// <param name="imageDir">圖片絕對路徑</param>
/// <param name="imageWidth">圖片寬度</param>
/// <param name="imageHeight">圖片高度</param>
public static void SaveAsExcel(string title, DataTable dt, string imageDir, int imageWidth, int imageHeight)
{
string down = Path.GetDirectoryName(imageDir) + @"\" + title + ".xls";
string dir = Path.GetDirectoryName(down);
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
ExportToExcel dte = new ExportToExcel(down);

dte.DataTableToExcelSheet(dt, "A1");
int count = dt.Rows.Count + 2;
dte.InsertPicture("A" + count, imageDir, imageWidth, imageHeight);
dte.SaveFile();
dte.DownloadFile();
}
/// <summary>
/// 獲取導出路徑
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static string AppSettingItemValue(string name)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Request.ApplicationPath);
KeyValueConfigurationElement item = config.AppSettings.Settings[name];
return item.Value;
}
 

沈陽團購網|營口網站制作|沈陽軟件公司|軟件定制|網站建設|加盟易勢|提交問題

日韩精品免费一区二区三区_久久精品国产三级不卡_免费观看中文字幕_好男人社区神马在线观看www
午夜精彩国产免费不卡不顿大片| 性色av一区二区三区| 激情国产一区| 久久精品国产99国产精品| 欧美精品国产| 韩国自拍一区| 久热精品视频在线免费观看 | 欧美日韩国产在线看| 国产女主播一区二区| 午夜一区在线| 欧美日韩在线直播| 亚洲免费在线精品一区| 欧美极品在线视频| **性色生活片久久毛片| 欧美成人午夜剧场免费观看| 国产一区二区三区四区在线观看| 美女网站久久| 国产一区二区三区四区五区美女 | 欧美第十八页| 国内精品久久久久久影视8| 久久国产精品网站| 国产精品亚洲综合| 久久精品中文字幕免费mv| 国产美女在线精品免费观看| 久久大逼视频| 国产日韩欧美三区| 欧美成人精品在线视频| 伊人狠狠色j香婷婷综合| 欧美电影免费观看高清| 亚洲图片欧洲图片av| 欧美日本在线播放| 午夜在线成人av| 国产精品婷婷午夜在线观看| 久久久噜噜噜久久中文字幕色伊伊 | 老牛嫩草一区二区三区日本| 国内在线观看一区二区三区| 欧美成人午夜视频| 午夜电影亚洲| 国产日韩在线看| 欧美激情精品久久久久久蜜臀 | 欧美亚州一区二区三区| 欧美在线资源| 国内精品久久久久影院薰衣草| 欧美二区在线| 午夜免费久久久久| 国产亚洲综合精品| 欧美日本精品一区二区三区| 香蕉国产精品偷在线观看不卡| 国产精品视频免费一区| 欧美**人妖| 亚洲欧美日韩在线不卡| 国产欧美一区二区视频| 欧美国产一区二区在线观看| 性伦欧美刺激片在线观看| 国产日韩一区| 欧美日韩综合| 美日韩精品视频| 午夜久久久久久久久久一区二区| 国产亚洲一区二区在线观看 | 久久久噜噜噜久久人人看| 在线观看日韩一区| 国产精品理论片| 欧美大片专区| 久久久午夜视频| 亚洲综合首页| 国内成人在线| 国产精品毛片在线| 欧美激情精品久久久久久大尺度| 久久精品二区| 亚洲欧美日韩在线不卡| 狠狠久久婷婷| 国产酒店精品激情| 欧美日韩情趣电影| 欧美电影在线观看完整版| 久久久久久亚洲精品不卡4k岛国| 亚洲欧美国产视频| 黄网站免费久久| 国产视频一区欧美| 国产精品色网| 国产精品v亚洲精品v日韩精品 | 欧美日韩国产999| 麻豆9191精品国产| 欧美一区=区| 亚洲一区二区三区在线视频| 狠狠综合久久| 国产综合久久久久久鬼色| 国产精品每日更新| 欧美性猛交一区二区三区精品| 欧美成人亚洲| 美国十次成人| 久久亚洲一区| 久久久www| 久久九九99| 久久国产成人| 久久动漫亚洲| 欧美在线在线| 欧美在线啊v| 欧美一区二区三区日韩| 亚洲欧美日韩一区在线观看| 亚洲一区二区三区免费视频 | 亚洲欧美在线播放| 亚洲性感激情| 亚洲一二三区在线观看| 亚洲无限av看| 亚洲一区二区三区在线播放| 亚洲视频综合| 亚洲香蕉在线观看| 亚洲一区二区免费| 亚洲一区二区日本| 亚洲专区免费| 午夜精品福利在线| 午夜视频一区在线观看| 欧美中在线观看| 久久精品人人做人人爽电影蜜月| 久久大综合网| 久久夜色精品国产亚洲aⅴ| 久久免费视频网站| 毛片精品免费在线观看| 麻豆精品网站| 欧美承认网站| 欧美日韩成人一区二区| 欧美人与禽猛交乱配视频| 欧美理论电影在线播放| 欧美日韩在线视频首页| 国产精品久线观看视频| 国产色产综合色产在线视频| 国产原创一区二区| 亚洲无限av看| 欧美在线啊v一区| 久久综合亚洲社区| 欧美极品在线观看| 国产精品久久精品日日| 国产欧美一区二区视频| 伊人久久婷婷| 午夜精品一区二区三区在线视| 欧美在线地址| 老巨人导航500精品| 欧美精品在线免费观看| 国产精品久久久久天堂| 国产一区二区欧美| 正在播放欧美视频| 欧美一区网站| 免费成人高清视频| 欧美日韩成人综合在线一区二区| 欧美性生交xxxxx久久久| 国产女主播一区| 亚洲一本视频| 久久免费视频观看| 欧美日韩国产综合一区二区| 国产精品狼人久久影院观看方式| 国产一区二区三区日韩| 亚洲欧美日韩综合国产aⅴ| 久久视频一区| 欧美日韩一视频区二区| 国产欧美一区二区精品性色| 中文国产成人精品| 久久精品女人的天堂av| 欧美国产在线观看| 国产精品区免费视频| 伊人天天综合| 久久精品一区| 欧美日韩国产在线| 国产一区二区黄| 欧美一区二区免费视频| 你懂的国产精品| 国产精品免费福利| 在线中文字幕一区| 久久亚洲精品一区二区| 国产精品成av人在线视午夜片| 国产字幕视频一区二区| 欧美中文字幕视频| 欧美日韩一区二区三区视频| 国产亚洲欧美日韩日本| 午夜久久资源| 欧美日韩第一页| 极品日韩久久| 久久亚裔精品欧美| 国产精品理论片| 先锋影音久久| 欧美日韩日本网| 永久555www成人免费| 久久精品国产亚洲5555| 欧美日韩在线免费观看| 在线观看日韩欧美| 欧美成ee人免费视频| 国产欧美一区二区三区在线看蜜臀 | 久久久久久久综合狠狠综合| 欧美视频免费在线观看| 这里只有精品视频在线| 欧美成人精品不卡视频在线观看| 国产欧美一二三区| 欧美有码在线观看视频| 欧美视频在线一区二区三区| 中文国产一区| 欧美经典一区二区| 在线观看国产日韩| 欧美丰满高潮xxxx喷水动漫| 国产在线播精品第三| 久久青青草综合| 国产亚洲福利一区|