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

注冊|登錄

聯(lián)系電話:024-31891684  13390130939
沈陽軟件公司--沈陽軟件定制

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

Latest technology最新技術

建立RadControls圖表方法

瀏覽量:4315

#region 圖表方法

/// <summary>
/// 創(chuàng)建圖表數(shù)據(jù)集
/// </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);
// 添加數(shù)據(jù)表
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">數(shù)據(jù)集</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"]);
// 獲取橫軸、縱軸數(shù)據(jù)類型
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字段數(shù)組
string[] myColumnNames = { "Series" };
// 準備填充的序列
DataTable dtSeriesList = dtSeriesData.DefaultView.ToTable(true, myColumnNames);
// 填充數(shù)據(jù)
chart.Series.Clear();
foreach (DataRow dr1 in dtSeriesList.Rows)
{
string strSeries = dr1["Series"].ToString();
Series series = new Series(strSeries);
// 組織序列數(shù)據(jù)
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://圓環(huán)圖
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">數(shù)據(jù)表</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;
}
 

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

日韩精品免费一区二区三区_久久精品国产三级不卡_免费观看中文字幕_好男人社区神马在线观看www
欧美日韩精品| 欧美综合第一页| 国产精品一区二区在线| 国产精品久久久久一区| 国产精品a级| 国产日韩欧美三区| 在线观看视频一区二区| 亚洲视频播放| 久久久国际精品| 欧美高清你懂得| 国产精品黄页免费高清在线观看| 国产欧美一区二区精品婷婷 | 欧美日本在线| 国产精品久久久久久超碰 | 激情五月***国产精品| 亚洲淫性视频| 亚欧成人在线| 免费在线看成人av| 欧美午夜久久| 禁久久精品乱码| 久久精品国产久精国产一老狼 | 久久国产精品色婷婷| 欧美黄色一区二区| 国产精品视频久久| 亚洲视频在线视频| 久久天天躁狠狠躁夜夜爽蜜月 | 国产香蕉久久精品综合网| 亚洲一级黄色| 美女成人午夜| 国产精品伊人日日| 亚洲在线成人| 欧美高清视频一区二区三区在线观看 | 欧美本精品男人aⅴ天堂| 欧美性猛交一区二区三区精品| 红桃视频成人| 久久成人一区| 欧美三级网址| 中文av字幕一区| 开心色5月久久精品| 国产精品国产馆在线真实露脸| 在线播放中文一区| 久久久蜜桃精品| 国产精品一区二区三区四区| 亚洲一区免费网站| 欧美精品三级在线观看| 国模私拍视频一区| 久久三级福利| 国产伦精品免费视频| 午夜精品在线观看| 欧美日韩国产a| 亚洲视频综合| 欧美激情视频网站| 伊人久久综合| 欧美激情亚洲自拍| 激情综合激情| 免费观看日韩av| 狠狠色噜噜狠狠色综合久| 久久永久免费| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 亚洲午夜久久久久久久久电影院| 美女视频一区免费观看| 国产亚洲一区二区三区在线播放| 久久国产直播| 国产欧美日韩一区二区三区在线观看 | 美女免费视频一区| 国产日韩av一区二区| 性高湖久久久久久久久| 欧美激情在线观看| 韩日精品在线| 欧美精品国产精品| 一区二区三区在线视频观看| 午夜精品久久久| 国产精品久久久久久久久免费桃花 | 久热成人在线视频| 欧美三区视频| 欧美偷拍另类| 午夜天堂精品久久久久| 国产精品一页| 欧美日韩免费一区二区三区| 久久久亚洲国产天美传媒修理工| 一区二区在线视频| 国产精品久久久久久久9999| 久久综合激情| 欧美一区二区免费观在线| 国产亚洲精品成人av久久ww| 欧美日韩国产欧美日美国产精品| 久久精品国产亚洲一区二区三区 | 亚洲视频 欧洲视频| 性欧美8khd高清极品| 国产一区二区精品丝袜| 欧美日韩在线观看视频| 麻豆精品网站| 久久电影一区| 亚洲影视在线播放| 狠狠色丁香婷婷综合久久片| 国产麻豆综合| 国产精品r级在线| 欧美国产精品劲爆| 久久婷婷蜜乳一本欲蜜臀| 性欧美超级视频| 亚洲免费在线视频| 一区福利视频| 国内久久精品| 国产欧美日韩亚州综合| 国产精品国产三级国产| 欧美久色视频| 欧美激情亚洲一区| 免费一级欧美片在线观看| 久久婷婷影院| 久久久精品动漫| 久久精品国产2020观看福利| 亚洲欧美日本精品| 亚洲综合色激情五月| 在线播放视频一区| 欲色影视综合吧| 激情亚洲成人| 激情综合亚洲| 国内一区二区在线视频观看| 国产偷自视频区视频一区二区| 国产精品老女人精品视频| 久久久美女艺术照精彩视频福利播放| 亚洲一区二区三区久久| 影音先锋一区| 激情成人亚洲| 在线播放豆国产99亚洲| 伊人色综合久久天天五月婷| 国产一区二区主播在线| 国产视频亚洲精品| 国产日韩欧美电影在线观看| 国产麻豆一精品一av一免费| 国产精品视频导航| 国产女精品视频网站免费 | 欧美成人一区二区三区| 欧美成人69av| 久久女同精品一区二区| 亚洲一区在线看| 亚洲欧美一区在线| 亚洲欧美美女| 先锋资源久久| 久久精品国产欧美亚洲人人爽| 欧美综合二区| 久久露脸国产精品| 老巨人导航500精品| 欧美高清视频一区| 欧美日韩色综合| 国产精品久久久久久久久久免费| 国产精品欧美在线| 国产一区二区三区视频在线观看| 国产一区在线看| 在线成人亚洲| 亚洲欧美日韩精品在线| 欧美在线免费视频| 久久久777| 欧美成人自拍| 欧美午夜不卡在线观看免费| 国产精品久久久久久久久| 国产日韩欧美一区| 在线视频成人| 欧美在线播放| 久久综合久久综合这里只有精品| 免费影视亚洲| 欧美午夜片在线观看| 国产精品亚洲成人| 激情欧美丁香| 午夜欧美不卡精品aaaaa| 欧美一区亚洲一区| 欧美 日韩 国产精品免费观看| 欧美精品激情| 国产精品久久久91| 国产一区二区高清视频| 亚洲桃花岛网站| 久久成人国产| 欧美寡妇偷汉性猛交| 欧美视频一区二区三区在线观看 | 欧美国产欧美亚州国产日韩mv天天看完整 | 在线欧美日韩| 亚洲午夜精品福利| 欧美亚洲一区二区在线观看| 久久天天综合| 欧美日韩国产首页在线观看| 国产精品久久久久久久久久久久| 黑人巨大精品欧美一区二区| 亚洲欧美在线一区二区| 老巨人导航500精品| 国产精品国产精品国产专区不蜜| 国产一在线精品一区在线观看| 亚洲欧美日本国产有色| 欧美成人性网| 国产欧美日韩激情| 午夜国产不卡在线观看视频| 欧美91视频| 国产欧亚日韩视频| 香蕉久久夜色精品国产| 美国三级日本三级久久99| 国产精品久久影院| 亚洲综合色丁香婷婷六月图片| 欧美88av| 国产人妖伪娘一区91| 欧美在线视频观看| 欧美久久久久免费|