FusionChartFree报表[ASP版]
时间:2010-09-20 来源:宅熊
http://tomieric.wordpress.com/2009/12/17/fusionchartfree_about_aspversion/
原来yo2.cn文章被墙了。
fusionchartsFusionChartsFree作为FusionCharts免费版。
唯一缺点是在y轴上不支持中文显示。
FusionChart支持当今流行的各种web语言,如asp,jsp,php,ruby on rails等。
由于工作需要,找了大量的图表插件,但有许多不支持中文显示。选择了asp,因为自己项目是asp。
类似的有许多图表都是采取flash读取xml来实现的,之前也意识到,但js和flash不是很懂。
FusionChartsFree asp精简版主要由两个文件构成。自己翻译了中文注释。
<!--r />--> '
02 '页面: FusionCharts.asp
03 '作者: InfoSoft Global (P) Ltd.
04 '@中文注释 By tomieric
05 '</div>
06 <div>'本页包含一个可以返回FusionCharts的函数</div>
07 <div>'encodeDataURL函数通过dataURL传送参数到FusionCharts中。
08 '如果您的dataURL参数已经有参数值,记住一定要进行编码。
09 '参数: strDataURL - dataURL必须传送图表数据(chart data)
10 '参数: addNoCacheStr - 是否添加其它的URL字符串的数据禁用缓存。
11 Function encodeDataURL(strDataURL, addNoCacheStr)
12 '如果需要可以添加无必要字符串缓存
13 if addNoCacheStr=true then
14 '我们添加 ?FCCurrTime=xxyyzz
15 '如果dataURL已经包含一个a ?, 我们添加 &FCCurrTime=xxyyzz
16 '我们要替换"_", 因为 FusionCharts在URLs不能使用包含此字符
17 if Instr(strDataURL,"?")0 then
18 strDataURL = strDataURL & "&FCCurrTime=" & Replace(Now(),":","_")
19 else
20 strDataURL = strDataURL & "?FCCurrTime=" & Replace(Now(),":","_")
21 end if
22 end if
23 ' 将URL进行编码
24 encodeDataURL = Server.URLEncode(strDataURL)
25 End Function</div>
26 <div>'renderChart函数是通过JavaScript + HTML代码需要嵌入一个图表。
27 '假如在您的网页此函数已经包括了FusionCharts JS类</div>
28 <div>' chartSWF - 图表的显示主要通过的SWF文件名 (和路径)
29 ' strURL - 如果您打算使用dataURL方法显示图表, 就通过URL传送swf文件路径. 否则,将其设置为“”(在dataXML方法的情况下)
30 ' strXML - 如果您打算使用dataXML方法显示图表, 就利用xml来传送数据.否则,设置为 "" (在 dataURL 的情况下)
31 ' chartId - 图表的DIV的ID值, 用于图表在html页面中显示的位置. 每个图表在html页面中必须使用一个ID.
32 ' chartWidth - 图表显示宽度
33 ' chartHeight -图表显示高度 (像素)</div>
34 <div>Function renderChart(chartSWF, strURL, strXML, chartId, chartWidth, chartHeight)
35 '首先我们要为图表写一个div. 一般设置div的id为"chartId"Div.
36 'DIV的名称是区分大小写.
37 -->
38 <!-- 图表脚本块从 开始 -->
39 <div id="<%=chartId%>Div">Chart.图表加载中...
40 <!--r />--> '"Chart.图表加载中..."在图表未加载完成前显示,(可以加入进度条图片等。)
41 '(如果服务器中的swf文件加载滞后). "Chart.图表加载中..."文本也会显示给用户
42 '没有安装Flash Player.你可以配置它按你的需要(写一个在线安装Flash Player或提示下载url).
43 --></div>
44 <!--r />--> '现在,我们使用FusionCharts图表类。每个被命名为chart_“chartId”的ID创建图表的实例。
45 -->
46 <!--
47 //实例图,主要利用js读取xml中的数据
48 var chart_ = new FusionCharts("", "", "", "");
49
50 //设置图表chart的dataURL值
51 chart_.setDataURL("");
52
53 //提供完整的XML数据使用dataXML方法
54 chart_.setDataXML("");
55
56 //最后反馈到chart图表中(指传送xml数据到swf中,flash文件可以通过xml交换数据。)
57 chart_.render("Div");
58 // -->
59 <!-- 图表脚本块从 结束 -->
60 <!--r />--> End Function</div>
61 <div>'renderChartHTML函数利用JavaScript转换它成html代码.
62 '此方法不使用图表嵌入JavaScript类.
63 '相反,它使用直接的HTML嵌入。
64 '所以,如果你看到的IE 6的图表(或以上),您会看到在图表上看到“点击激活...”信息。</div>
65 <div>' chartSWF - 图表的显示主要通过的SWF文件名 (和路径)
66 ' strURL - 如果您打算使用dataURL方法显示图表, 就通过URL传送swf文件路径. 否则,将其设置为“”(在dataXML方法的情况下)
67 ' strXML - 如果您打算使用dataXML方法显示图表, 就利用xml来传送数据.否则,设置为 "" (在 dataURL 的情况下)
68 ' chartId - 图表的DIV的ID值, 用于图表在html页面中显示的位置. 每个图表在html页面中必须使用一个ID.
69 ' chartWidth - 图表显示宽度
70 ' chartHeight -图表显示高度 (像素)</div>
71 <div>Function renderChartHTML(chartSWF, strURL, strXML, chartId, chartWidth, chartHeight)
72 'Generate the FlashVars string based on whether dataURL has been provided
73 'or dataXML.
74 Dim strFlashVars
75 if strXML="" then
76 'DataURL方法
77 strFlashVars = "&chartWidth=" & chartWidth & "&chartHeight=" & chartHeight & "&dataURL=" & strURL
78 else
79 'DataXML方法
80 strFlashVars = "&chartWidth=" & chartWidth & "&chartHeight=" & chartHeight & "&dataXML=" & strXML
81 end if
82 -->
83 <!-- 图表脚本块 开始 -->
84 <div></div>
相关阅读 更多 +
排行榜 更多 +










