2013-06-21 101 views
1

我有一个要求,开发堆积柱使用FusionCharts XT试用版的图表。我找不到任何使用数据源作为堆叠列的数据库的示例。他们已经展示了使用XML/JSON的例子。如果您有使用FusionCharts这方面的经验,请帮助我。提前致谢。使用sql server数据库堆积柱形图融合图表

下面是我目前的代码。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using InfoSoftGlobal; 
namespace workflowmangement 
{ 
    public partial class chart1 : System.Web.UI.Page 
    { 
     string conString =   System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      siva.Text = CreateChart(); 
     } 
    public string CreateChart() 

      { 


       SqlConnection con = new SqlConnection(conString); 

       string sqlStatement = "SELECT Activity_Name,Activity_Id from Activity"; 

       SqlCommand cmd = new SqlCommand(sqlStatement, con); 

       con.Open(); 

       SqlDataReader reader = cmd.ExecuteReader(); 

       string strXML; 

       strXML = "<graph caption='Category Wise Quantity' subCaption='By Quantity'  decimalPrecision='0' showNames='1' numberSuffix=' Units' pieSliceDepth='30'  formatNumberScale='0'>"; 

       while (reader.Read()) 

       { 

        strXML += "<set name='" + reader["Activity_Name"].ToString() + "' value='" + reader["Activity_Id"].ToString() + "' />"; 

       } 

       strXML += "</graph>"; 

       return FusionCharts.RenderChart("/FusionCharts/FCF_Pie3D.swf", "", strXML, "FactorySum", "650", "450", false, false); 

      } 

    } 
} 

回答

2

使用FusionCharts图表可以通过两种方式呈现。

  • 的JavaScript
  • 闪存

数据需要在两种格式的XML/JSON之一。 XML/JSON数据文件包含数据点和配置。配置将让我们自定义图表的外观和感觉。

你的aspx页面,您要添加图表应该包含下面的代码

<asp:Literal ID="Literal1" runat="server"></asp:Literal> 

增加了一个文字控制它充当图表容器页线。确保使用相同的文字ID,在这种情况下,文字ID是“Literal1”。

看到这里http://goo.gl/nH4zj

现场演示在这里看到该文档:​​

你的XML必须看起来像下面。

<categories> 

    <category label='Product A' /> 

    <category label='Product B' /> 

    <category label='Product C' /> 

    <category label='Product D' /> 

    <category label='Product E' /> 

</categories> 

<dataset seriesName='2004' color='AFD8F8' showValues='0'> 

    <set value='25601.34' /> 

    <set value='20148.82' /> 

    <set value='17372.76' /> 

    <set value='35407.15' /> 

    <set value='38105.68' /> 

</dataset> 

<dataset seriesName='2005' color='F6BD0F' showValues='0'> 

    <set value='57401.85' /> 

    <set value='41941.19' /> 

    <set value='45263.37' /> 

    <set value='117320.16' /> 

    <set value='114845.27' /> 

</dataset> 

<dataset seriesName='2006' color='8BBA00' showValues='0'> 

    <set value='45000.65' /> 

    <set value='44835.76' /> 

    <set value='18722.18' /> 

    <set value='77557.31' /> 

    <set value='92633.68' /> 

</dataset> 

只要通过使用此行的代码在上述XML呈现图表。

 
Literal1.Text = FusionCharts.RenderChart("Charts/StackedColumn2D.swf", "", xmlStr.ToString(), "productSales", "600", "300", false, true); 

xmlStr是被馈送到呈现图表编码的XML数据的变量。

数据存储和检索的位置并不重要。你需要做的是用XML或JSON编码你的数据并将其传递给RenderChart方法。在你的情况下,数据需要从MSSQL数据库服务器中检索,并编码为XML/JSON,这很方便并传递给RenderChart方法。

下载堆叠列2D图表的这个示例项目,并与它玩一个更好的主意。

这里下载演示:https://github.com/OpenCV/stackedbar2d

0

FusionChart取数据两种形式only- XML或JSON, 您可以使用任何服务器端语言---数据源。可以从数据源中检索数据,并使用XML/JSON frm来构建图表。

简单的步骤 -


1) http://docs.fusioncharts.com/charts/contents/guide-for-web-developers/csnet/CS_DB.html

在此,你会得到的想法如何使用数据库来绘制的图表。


2) http://docs.fusioncharts.com/charts/

在此链接中,您将看到使用堆叠柱状图的示例。

您只需提供堆叠图表XML格式的数据源中的数据 并将图表类型更改为StackedColumn3D/2D。 你完成了! 如果这不是你正在寻找...然后详细阐述你的要求?