Sub DrawPoll() Dim Pollar(3) As Integer Dim TotalPoll As Integer Dim I As Integer Dim MathPoll As Single Pollar(0)=PollData.FieldValue("VerGood", nothing) Pollar(1)=PollData.FieldValue("Good", nothing) Pollar(2)=PollData.FieldValue("Commandly",nothing) Pollar(3)=PollData.FieldValue("Mistake", nothing) TotalPoll=Pollar(0)+Pollar(1)+Pollar(2)+Pollar(3) Response.Write("<Table Width='80%' bgcolor='#FFFFFF'><tr alige='center' style= 'font-size: 9pt ' valign='bottom'>") For I=0 to 3 MathPoll=Math.Round(Pollar(I)/TotalPoll,2)*100 Response.write ("<td Width='25%'><v:rect fillcolor='#FAB092' style= 'width:20;color:navy;height:"+Cstr( MathPoll*2)+"'><br> "+Cstr(MathPoll)+"%<v:Extrusion backdepth=' 5pt ' on='true'/></v:rect></td>") Next response.Write("</tr><tr style='font-size: 9pt '><td > 很好 </td><td alige='center'> 好 </td><td> 一般 </td><td> 差 </td></Table>") End Sub (读者可打开【光盘】|【源文件】|【实例 90 】|【 90.3.txt 】文件,直接复制) 程序说明: 代码中数据集“ PollData ”的字段值分别存储在“ Pollar ”的 4 个数据组中,通过“ TotalPoll ”变量统计投票总数。首先通过“ Response.Write ”在页面中输出表格及第一行。通过循环为第一行定义 4 列,在第一列中绘制 VML 柱形图。 VML 柱形图的 fillcolor (填充颜色)为“ #FAB092 ”,宽度为“ 20 ”,高度为每项投票意见占投票总数的百分比“ Math.Round(Pollar(I)/TotalPoll,2)* 100 ” 乘以“ 2 ”,这样做是为了将投票意见占投票总数百分比的高度增加一倍,最后通过“ Response.Write ”在页面中为表格添加 1 行 4 列,并为每一行定义文字。 ( 6 ) 在要显示统计图表的行中添加代码 <% DrawPoll() %> ,如图 90-7 中圆角方框所示。 ( 7 )保存文件后在 IE 中浏览效果。 本实例介绍通过 VML 实现统计分析图,这是目前渐渐流行的方法之一。在实际应用中,常常通过统计有关投票比例,并以此动态显示统计图的宽度或高度,从而实现统计分析图的。至此本实例操作完毕。 |