2011-07-26 46 views
0

是否有人知道是否可以格式化悬停在ColdFusion图表上时显示的工具提示(当设置属性tipStyle =“MouseOver”时)?cfchart工具提示弹出格式?

我希望它被格式化为数字样式以包含两位小数,即使值为0(例如:0.00而不是0)。我相信这个值也与轴数据格式相关联,所以如果可以对轴号进行格式化,那么它可能会传递给工具提示。

我一直在想尝试重写内置于cfchart标记中的onmouseover事件的javascript函数调用,但我不确定此函数的名称如何去做。任何想法/建议都会很棒。谢谢。

+0

请注意,我也尝试先在Oracle中格式化值,并将其传递给“cfchartdata”标记的“值”,但ColdFusion不喜欢它传递非简单类型。 – Ben

回答

1

您可以自定义注释(即工具提示)。只需指定一个自定义格式即${value;##.00}即可显示两位小数。

有关支持变量的列表,请参阅webcharts3D实用程序帮助:Designer => Design => Elements => Parameters。

<cfsavecontent variable="style"><?xml version="1.0" encoding="UTF-8"?> 
<frameChart> 
      <frame xDepth="12" yDepth="11"/> 
      <yAxis scaleMin="0" /> 
      <elements drawShadow="true"> 
       <morph morph="Grow"/> 
      <![CDATA[ 
X Label = $(colLabel) 
X Value = ${value;##.00} 
      ]]> 
      </elements> 
      <decoration style="FrameTopBottom" foreColor="white"/> 
      <paint palette="Pastel" isVertical="true" min="47" max="83"/> 
      <insets right="5"/> 
</frameChart></cfsavecontent> 
<cfchart format="png" style="#style#"> 
    <cfchartseries type="bar"> 
     <cfchartdata item="Apple" value="50"> 
     <cfchartdata item="Orange" value="76.8"> 
     <cfchartdata item="Pear" value="100.634"> 
    </cfchartseries> 
</cfchart> 
+0

感谢您的回复,这绝对有帮助。但是,我似乎无法得到实际格式化数据的模式。在上面的示例中,它将只显示“X Value = $ {value; ##。00}”,而不是实际的数据值。但是,如果我放弃模式,它会正确显示值。 – Ben

+0

@Ben - 您是否正在运行“原样”示例以及CF版本?它在CF9下产生“X值= 50.00”。 – Leigh

+0

对不起,我完全忘了提及这是CF7。不,我只是将这种语法插入到我已有的语法中。对此感到抱歉。 – Ben

0

就像一张纸条,我不认为你可以在Javascript中截获cfchart的onmouseover事件很容易因为cfchart使用Flash或静态图像,所以你必须做一些时髦的ActionScript <的 - >魔法的Javascript拦截事件。

+0

取决于图表类型。对于PNG,JPG等等,它可以轻松完成。但你对Flash格式的不同是正确的。这种类型甚至可能不会暴露鼠标悬停事件。 – Leigh

+0

是的,我非常确定,无法使用图表的闪存版本查看鼠标悬停事件。它似乎创建了一个swf并用html嵌入。所以我会假设swf是它隐藏这些事件的地方。 – Ben

+0

是的,我认为他的意思是在图表中的某个点上的onmouseover事件(即在条形图中移动一个酒吧),隐藏在swf中,正如你们指出的那样 –