CFMX的图形功能涉及到<cfchart>标签(tag)和它的子标签(subtag),以及<cfchartseries> 和<cfchartdata>标签。代码清单A给出了一个非常简单的<cfchart>调用,它用来产生一个饼分图。
<cfchart>标签设置了图形的特性。在这里例子中,我把格式设置为Flash,也就是说CFMX将会为这个图形生成一个Flash动画。这样当你的鼠标在任何一个数据元素上时,将会显示一个对应的弹出式对话框。你也可以把它设置为.gif或者.jpg图形格式。在我给出的这里例子中,我还设置了宽度和高度,设置了一个3-D图形,并显示了图形周围的边框。
<cfchartseries>标签决定了图形中使用那些数据。在本例的情况下,这些数据从一个名为expense(花费)的数据库查询而来的。通过设置itemColumn到expenseType,我告诉CF我希望用expenseType数据栏(column)中的数据来更新饼分图中的每个饼块。同样的,通过查询expense数据栏的数据给valueColumn来告诉CF用这个数据栏的数据来计算每一个饼块的尺寸。运行时,产生的饼分图如图A所示:
图A
如果你想用你的查询结果来设置上例给出的图形,那么这里有一个非常方便的CFMX用户自定义标签,叫着<cf_querysim>
,你可以从halhelms.com得到它。这个标签可以让你轻松的创建手工查询结果(取代建立一个数据库然后将之设置CF管理器中的数据源的方法)。清单B给出了我用以创建费用查询的查询仿真(querysim)。
关于查询仿真的注意事项
我不希望太偏离本文的主题,不过我还是要提一下:使用查询仿真会极大简化对像本例这样的例子的处理。