ColdFusion:如何将饼图的每个部分链接到特定的URL?

时间:2013-02-04 16:19:53

标签: coldfusion pie-chart cfchart

我有一个基本的饼图,其中包含这样的值

    <cfchartdata item="January" value="503100">
    <cfchartdata item="February" value="720310">
    <cfchartdata item="March" value="688700">

我想将每个饼图链接到一个特定的网址 - 我不需要将任何变量发布到网址。

我试过这样的事情;

<cfchartdata item="January" value="503100" url="januarydata.cfm">

但是URL不是'cfchartdata'

的有效属性

1 个答案:

答案 0 :(得分:4)

url属性属于CFChart标记,而非CFChartData标记

URL:

  

如果用户点击数据系列中的项目,则打开的网址; onClick   目的地页面。

     

您可以在URL字符串中指定变量; ColdFusion通过   变量的当前值。

     
      
  • $ VALUE $:所选行的值。如果不是,则该值为空   串。

  •   
  • $ ITEMLABEL $:所选项目的标签。如果没有,那么   value是一个空字符串。

  •   
  • $ SERIESLABEL $:所选标签   系列。

  •   
  • 如果不是,则该值为空字符串,例如:   “somepage.cfm项= $ ITEMLABEL $&安培;系列= $ SERIESLABEL $&安培;值= $ $ VALUE

  •   
  • “javascript:...”:执行客户端脚本。

  •   

如果要进行动态搜索,可以使用上面混合的动态值和静态值以及其他CF值。例如:

<cfchart url="someSearchPage.cfm?param1=Static Text&param2=#form.ColdFusionFormVariable#&param3=$ITEMLABEL$" ...>

在此示例中,$ ITEMLABEL $会自动转换为标签。

<强>声明


在回答您的实际问题之前,我应该指出,这不是一个好的做法,并且会破坏动态网站的整个目的。您应该考虑接受参数的单个页面,并根据该参数从数据库中提取数据。例如monthlyData.cfm?month=january


最简单的方法是将项目标签放在您在评论中确认的文件名中。

<cfchart url = "$itemLabel$data.cfm" ...>

如果您在发送用户之前需要进行更多测试,可以将它们发送到单个ColdFusion页面并使用CFSWITCH / CFCASE或旧的CFIF / { {1}}如果没有那么多组合。

<强> - 或 -

你可以使用javaScript:选项并运行一个使用window.location的函数,具体取决于所点击的系列。

CFELSE

js功能可能如下所示:

javaScript:goto($itemSeries$,$seriesLabel$)