`
zzc1684
  • 浏览: 1229369 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

FusionCharts使用教程:利用C#创建各类动态图表

阅读更多

曾经在在PHP中使用FusionCharts一文中介绍如何在PHP中使用FusionCharts,并简要说明setDataURL(srcUrl)和setJSONData(jsonStr)这两种数据格式。本文主要介绍如何利于C#创建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图

分享到:
评论

相关推荐

    FusionCharts使用源码例C#

    在C#开发环境中,FusionCharts可以与ASP.NET、WinForms或其他.NET框架结合使用,为应用程序添加美观的数据呈现功能。本示例主要关注如何在C#项目中集成并使用FusionCharts。 首先,要使用FusionCharts,你需要在你...

    FusionCharts v3.0 C#

    开发者可以利用C#的强大功能来动态生成图表数据,使得在ASP.NET应用中嵌入图表变得简单易行。 3. **数据源处理**:FusionCharts支持多种数据源,如XML、JSON、数据库(如SQL Server)等。在C#中,你可以通过ADO.NET...

    Asp.net FusionCharts 示范代码演示

    - 示例图表:实际展示的图表实例,可能有多个,展示不同类型的图表和配置选项。 通过这个示例代码,开发者可以学习到如何在Asp.net中创建XML数据源,如何将数据绑定到FusionCharts,以及如何在网页上显示这些图表。...

    js实现图表-FusionCharts

    **FusionCharts是一款强大的JavaScript图表库,用于创建交互式的、动画丰富的数据可视化图表。它支持多种编程语言,包括C#、VB.NET、PHP和JSP,使得开发者在各种后端环境下都能轻松集成图表功能,为业务报表提供直观...

    C#网站里面使用fusionCharts显示统计数据表格

    在C# web应用程序中,FusionCharts是一款强大的图表库,用于创建交互式、美观的数据可视化效果。本示例将深入探讨如何在ASP.NET环境中利用FusionCharts显示统计数据表格,同时结合数据库来动态生成XML数据。 首先,...

    FusionCharts图表工具的技术参数

    FusionCharts是一套强大的图表工具,由广州虹科电子科技有限公司提供,旨在帮助用户轻松创建动态且交互丰富的图表。本文档深入探讨了FusionCharts套件的关键技术参数,涵盖其使用的底层技术、兼容性、产品版本、...

    FusionCharts图表开发(xml数据源)

    在IT行业中,FusionCharts是一款广泛使用的交互式图表库,它能够帮助开发者创建各种美观、动态的数据可视化效果。本文将详细探讨使用FusionCharts进行图表开发时,如何通过XML数据源来实现数据的加载和展示。 首先...

    FusionCharts实例程序

    FusionCharts是一款强大的JavaScript图表库,它允许开发者创建交互式、丰富多彩的图表和图形,用于Web应用程序中。这个“FusionCharts实例程序”是针对.NET平台的一个示例项目,可以帮助我们更好地理解和应用...

    C#中播放swf 并调用Fusionchart生成统计图表.rar

    本主题将深入探讨如何在C#应用中集成SWF(ShockWave Flash)文件播放以及如何利用FusionCharts库生成动态、交互式的统计图表。这在C/S(客户端/服务器)架构的应用程序中尤其有用,可以增强用户界面的吸引力和功能性...

    FUSIONCHRATS代码c#

    总的来说,FusionChartsHelper是C#与FusionCharts集成的关键,它简化了数据处理和图表生成的过程,使得在C#环境下创建动态、交互的图表变得更加便捷。理解并熟练掌握这种集成方式,对于提升数据可视化的效率和用户...

    asp.net报表FusionCharts资料文档

    综上所述,"asp.net报表FusionCharts资料文档"将帮助开发者掌握如何在ASP.NET环境中有效地使用FusionCharts,创建动态、交互式的报表,提升数据可视化能力。通过深入学习这些知识点,开发者能够在项目中实现高效、...

    Chartlet FusionCharts ZedGraph三种画图工具简介以及实例

    它使用XML或JSON作为数据源,与Flash技术结合,可以创建出具有动态效果和交互性的图表。FusionCharts支持多种图表类型,包括饼图、条形图、线图、甘特图等,适用于商业智能、数据分析和报告制作等场景。使用...

    FusionCharts 图表实例

    This demo application shows the capabilities of FusionCharts by integrating it with C# (ASP.NET) and Access/SQL. The databases are contained in FusionChartsDB folder. You'll find the Access MDB file ...

    FusionCharts.dll

    开发人员可以利用这个DLL文件在C#、VB.NET或其他.NET框架支持的语言中集成FusionCharts,以创建交互式图表。 其次,`FusionCharts.js` 是核心JavaScript库,它是FusionCharts的基础。这个文件包含了所有必要的代码...

    Asp.net FusionCharts 3D效果图

    Asp.NET FusionCharts 3D效果图是将动态数据可视化的一种技术,主要应用于Web应用程序中...掌握这些知识点,你就可以在Asp.NET项目中成功集成和使用FusionCharts 3D图表,为用户提供直观且富有吸引力的数据可视化体验。

    FusionChart学习及简单实例1

    3. 创建图表对象:使用`new FusionCharts()`初始化图表,传入配置参数。 4. 渲染图表:调用`render()`方法将图表绑定到指定的HTML元素上。 5. 更新图表:如有需要,可以使用API动态更新图表数据。 总结,...

    FusionCharts

    FusionCharts是一款强大的数据可视化工具,专为呈现复杂的数据集提供生动、交互式的图表解决方案。在标签"v3"的提示下,我们可以推断这里讨论的是FusionCharts的第三版本,一个具有高度定制化和多样化的图表库。下面...

    vs2010下的FusionCharts绘柱状图项目源文件

    "vs2010下的FusionCharts绘柱状图项目源文件" 这个标题表明,这是一个使用Visual Studio 2010(简称VS2010)开发的项目,该项目专注于利用FusionCharts库来创建柱状图表。FusionCharts是一款JavaScript图表库,能够...

    funsionChartS C# 示例代码

    在C#环境下使用FusionCharts,我们可以利用其丰富的API和库来构建各种图表类型,如柱状图、饼图、线图、地图等,以满足项目中的数据呈现需求。 首先,让我们深入了解FusionCharts的核心概念。FusionCharts由两个...

    FusionCharts Free中文开发指南(最新)-修改版20090424

    描述了如何使用FCF,可以满足日常的图形开发需要。FCF的XML参考分为Single Series Charts、Multi-Series Charts、Stacked Charts等等好几部分,但是对于绝大部分应用来说,Single Series Charts就足够了。 Single ...

Global site tag (gtag.js) - Google Analytics