FusionCharts 在ASP.net / Asp 中的使用 总结

FusionCharts 是InfoSoft Global公司的产品,该公司是专业提供Flash图形方案的提供商。

就说该公司提供的统计图吧,Flash效果,很酷。

我曾用过,componentOne,Dundas Chart ,Infragistics

觉得还是FusionCharts 使用起来最方便。

优点有:

1. 它无需安装,只需引入所需的 *.swf 文件,js文件和官方写好的几个公共方法的文件就可以了

2. 它是免费的。

。。。 其他的就不多说了。

 

它使用的范围: Asp,Asp.net,PHP,JSP,Html,PPT,Coldfusion调用。

 

可产生: 柱状图3D/2D,饼图,区域,蜡烛图,漏斗图,甘特图等等。

 

图分为3类:

单系列图

多系列图

联合图

 

下载: http://www.fusioncharts.com/free/Downloads/FusionChartsFree.zip

 

解压缩, 有如下几个文件夹

Charts: 有22个Swf,用于Fusion创建图用

JSClass: 一个JS文件 是用于将图嵌入网页用

Code:    示例代码

Gallery, Content : 可以不看。就是也些说明文档。

 

基本格式如下, 具体请看帮助文档。

<graph caption='标题'  decimalPrecision='0' showNames='1' numberSuffix=' Units' pieSliceDepth='30' formatNumberScale='0'>

     <set name='一月' value='20000' link='xxx.aspx' color='FFCCCC'/>

     <set name='二月' value='20000' link='n-xxx.aspx' color='FFCCCC'/>

     <set name=’三月' value='20000' link='javascript:yourJsFunction('xxx.asp','target');' color='FFCCCC'/>

      <set name='二月' /> <!-- 无数据时,显示为空,占个位置用 -->

      <set />

</graph>

--------------------

现在直接进入主题,如何用。

QQ: 22967225

Author: William Lin

 

1. Asp中 

准备工作:

1. 建一个FusionCharts 文件夹 里面放入

FusionCharts.js,FusionCharts.asp,FC_Colors.asp

22个swf文件(如 FCF_Pie2D.swf)

 

a)FusionCharts.js

 

b)FusionCharts.asp

c)FC_Colors.asp

4) 放入22个SWF文件 (FusionChartsFree 下载的文件中有的)

 

然后进行第二步:建自己的XML数据文件,为统计图

DealTypeData.asp

 

 

 2. 显示图标。 如果需要传参数直接 ?...&... 跟地址栏中相同

 

 这样就可以了

如果报: Error in  loading Date  说明没有找到XML文件

如果报: Invaild xmlDate  说明你建立的XMl文件有点错误。

 

注意: 免费版本不支持中文,另外单引号,%,等需要用特殊的字符取代,这个跟XML文件还是有点相似的。

 

 

-----------------------------

Asp.net 中

虽然网上已经有人写了个封装类,但本人觉得封装的不是很彻底,只包含部分图示。

而按照如上的思想,即

1. 自己写XML.Date

2. 展示统计图。

这样的方法,最灵活。 当然使用者如果用的多,可以自行封装。

 

产生自己的XML数据

PieData.aspx

PieData.aspx

  

 

显示数据图: Default.aspx

引入 FusionCharts.dll 文件

 

就这样可以了。

 

备注:

NumberPefix = '$'  前缀

NumberSuffix = '$'  后缀

 

一些特殊字符

百分号: %25

人民币: %A5

单引号: &apos

其他省略

 

formatNumberScale = '0' 数据默认有'K' 或百万的单位

formatNumb = 0/1          数据是否要分割

 

Javasctrip: 

想用同一数据,用不同的图表示,用JS更改swf文件就可以了。

Javasctrip更改数据时:  updateChartXML(domId,CompleteXML);  //这个免费的

                    updateURLXML(domId,CompleteXML);   //这个要收费的

用超级链接,做向下钻取工作。

 

有问题,再一起讨论吧。

 

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using InfoSoftGlobal; using System.Text; using System.Data.SqlClient; using System.Data; namespace MYASP { /// <summary> /// Author:jilongliang /// </summary> public partial class index : System.Web.UI.Page { protected void Page_Load (object sender, EventArgs e) { } /// <summary> /// 直接在控件加载出来 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Literal1_Load (object sender, EventArgs e) { Literal1.Text = FusionCharts.RenderChart("swf/ScrollCombiDY2D.swf", "fusioncharts.xml", "", "fusioncharts1", "500", "500", false, true); } /// <summary> /// 用户输入显示的图形fusioncharts /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSubmit_Click (object sender, EventArgs e) { //Request.Form() //Label1.Text = Request["ponit1"]; StringBuilder xmlData = new StringBuilder(); xmlData.Append("<chart caption='报表' subCaption='报表' showPercentValues='1' pieSliceDepth='30' showBorder='1'>"); xmlData.AppendFormat("<set label='Java' value='{0}' />", txtPoint1.Text); //txtPoint1.Text xmlData.AppendFormat("<set label='asp.net' value='{0}' />", txtPoint2.Text); xmlData.AppendFormat("<set label='C++' value='{0}' />", txtPoint3.Text); xmlData.AppendFormat("<set label='Android' value='{0}' />", txtPoint4.Text); xmlData.Append("</chart>"); Literal1.Text = FusionCharts.RenderChart("swf/Pie3D.swf", "", xmlData.ToString(), "fusioncharts2", "800", "500", false, false); } /// <summary> /// 从数据库读数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Literal2_Load (object sender, EventArgs e) { string query = "select Team ,Points from tb_charts"; StringBuilder xmlData = new StringBuilder(); using(SqlDataReader dr = SQLDBHelper.ExecuteReader(CommandType.Text, query, null)) { //<chart caption='某公司部门报表数据显示' xAxisName='Teams' yAxisName='Points' showValues='0' formatNumberScale='0' showBorder='0'> xmlData.AppendFormat("<chart caption='某公司报表数据显示'>"); while(dr.Read()) { xmlData.AppendFormat("<set label='{0}' value='{1}'/>", dr ["Team"].ToString(), dr ["Points"].ToString()); } xmlData.AppendFormat("</chart>"); Literal2.Text = FusionCharts.RenderChart("swf/Column3D.swf", "", xmlData.ToString(), "testChart", "500", "500", false, true); } } /// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void test2_Click (object sender, EventArgs e) { string str1=Request ["ponit1"]; Label1.Text=str1; StringBuilder xmlData = new StringBuilder(); xmlData.Append("<chart caption='报表' subCaption='报表' showPercentValues='1' pieSliceDepth='30' showBorder='1'>"); xmlData.AppendFormat("<set label='Java' value='{0}' />", txtPoint1.Text); //txtPoint1.Text xmlData.AppendFormat("<set label='asp.net' value='{0}' />", txtPoint2.Text); xmlData.AppendFormat("<set label='C++' value='{0}' />", txtPoint3.Text); xmlData.AppendFormat("<set label='Android' value='{0}' />", txtPoint4.Text); xmlData.Append("</chart>"); Literal1.Text = FusionCharts.RenderChart("swf/Pie3D.swf", "", xmlData.ToString(), "fusioncharts2", "800", "500", false, false); } protected void test2_Click1 (object sender, EventArgs e) { } } }
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值