提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2012-10-23 10:46:36.000|阅读 1083 次
概述:本文将详细讲解如何使用 FusionCharts 创建各类动态图表,文中将以配以源代码说明。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
好多人应该都知道 FusionCharts强大的功能,来看看如何使用 FusionCharts 创建各类动态图表,文中将以配以源代码说明:
1、在项目引用中添加FusionCharts.dll
2、生成XML格式的字符串与选定图表对应的Flash文件,采用FusionCharts.RenderChartHTML生成HTML格式字符串。
public string CreateCharts() { string caption; string graphicClass; string decimalPrecision; string formatNumberScale; string commandQuery; string strFlash = string.Empty; SqlConnection oConnection = new SqlConnection(Globals.ConnectionString); oConnection.Open(); SqlCommand oCommand = oConnection.CreateCommand(); oCommand.CommandText = "SELECT Caption, graphicClass, decimalPrecision, formatNumberScale, dataQuery FROM UT_CHARTS_GRAPH WHERE Id = " + ChartsSelect1.SelectedValue; SqlDataReader oReader = oCommand.ExecuteReader(); if (!oReader.Read()) { oReader.Close(); return ""; } caption = oReader[0].ToString() + " - " + DateSelect1.SelectedDate.ToString("yyyy-MM-dd"); graphicClass = oReader[1].ToString(); decimalPrecision = oReader[2].ToString(); formatNumberScale = oReader[3].ToString(); commandQuery = oReader[4].ToString(); oReader.Close(); string strXML = "<chart baseFont='宋体' baseFontSize='12' outCnvBaseFontSize='12' outCnvBaseFont='宋体' outCnvBaseFontColor='000000' caption='" + caption + "' decimalPrecision='" + decimalPrecision + "' formatNumberScale='" + formatNumberScale + "' "; if (graphicClass.ToLower() == "single") { strXML += " >"; oCommand.CommandText = commandQuery; oCommand.Parameters.Add("@Date", SqlDbType.SmallDateTime).Value = DateSelect1.SelectedDate; oReader = oCommand.ExecuteReader(); while (oReader.Read()) { strXML += "<set name='" + oReader[0].ToString() + "' value='" + oReader[1].ToString() + "'/>"; } oReader.Close(); strFlash = "FusionCharts/Line.swf"; switch (ChartsView1.ChartTypeIndex) { case 0: strFlash = "FusionCharts/Line.swf"; break; case 1: strFlash = "FusionCharts/Spline.swf"; break; case 2: strFlash = "FusionCharts/Area2D.swf"; break; case 3: strFlash = "FusionCharts/SplineArea.swf"; break; case 4: strFlash = "FusionCharts/Column2D.swf"; break; case 5: strFlash = "FusionCharts/Column3D.swf"; break; case 6: strFlash = "FusionCharts/Doughnut2D.swf"; break; case 7: strFlash = "FusionCharts/Doughnut3D.swf"; break; case 8: strFlash = "FusionCharts/Pie2D.swf"; break; case 9: strFlash = "FusionCharts/Pie3D.swf"; break; case 10: strFlash = "FusionCharts/Bar2D.swf"; break; default: return ""; } } else if (graphicClass.ToLower() == "multi") { strXML += " showValues='0'>"; oCommand.CommandText = commandQuery; oCommand.Parameters.Add("@Date", SqlDbType.SmallDateTime).Value = DateSelect1.SelectedDate; oReader = oCommand.ExecuteReader(); string categories = ""; int datasetCount = oReader.FieldCount - 1; string[] datasets = new string[datasetCount]; categories += "<categories>"; for (int fieldNumber = 1; fieldNumber <= datasetCount; fieldNumber++) { string name = oReader.GetName(fieldNumber); datasets[fieldNumber-1] += "<dataset seriesName='" + name + "'>"; } while (oReader.Read()) { categories += "<category label='" + oReader[0].ToString() + "' />"; for (int fieldNumber = 1; fieldNumber <= datasetCount; fieldNumber++) { datasets[fieldNumber-1] += "<set value='" + oReader[fieldNumber].ToString() + "' />"; } } oReader.Close(); categories += "</categories>"; strXML += categories; for (int fieldNumber = 1; fieldNumber <= datasetCount; fieldNumber++) { datasets[fieldNumber-1] += "</dataset>"; strXML += datasets[fieldNumber-1]; } strFlash = "FusionCharts/MSLine.swf"; switch (ChartsView1.ChartTypeIndex) { case 0: strFlash = "FusionCharts/MSLine.swf"; break; case 1: strFlash = "FusionCharts/MSSpline.swf"; break; case 2: strFlash = "FusionCharts/MSArea.swf"; break; case 3: strFlash = "FusionCharts/MSSplineArea.swf"; break; case 4: strFlash = "FusionCharts/MSColumn2D.swf"; break; case 5: strFlash = "FusionCharts/MSColumn3D.swf"; break; case 10: strFlash = "FusionCharts/MSBar3D.swf"; break; default: return ""; } } strXML += "<styles>"; strXML += "<definition>"; strXML += "<style name='FontStyle1' type='font' face='宋体' size='12' color='000000' bold='0' />"; strXML += "<style name='AnimationStyle1' type='animation' param='_xScale' start='0' duration='0.5' />"; strXML += "<style name='Shadow1' type='Shadow' color='CCCCCC' />"; strXML += "</definition>"; strXML += "<application>"; strXML += "<apply toObject='Caption' styles='FontStyle1,Shadow1' />"; strXML += "<apply toObject='Canvas' styles='AnimationStyle1' />"; strXML += "<apply toObject='DataPlot' styles='Shadow1' />"; strXML += "</application> "; strXML += "</styles>"; strXML += "</chart>"; return FusionCharts.RenderChartHTML(strFlash, "", strXML, "myNext", "720", "440", false); }
3、在WEB应用中直接嵌入HTML,在Windows中采用WebBrowser类中DocumentText属性设置显示Flash图。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:新浪博客面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢