• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

用ASP生成Chart_asp

asp 搞代码 3年前 (2018-08-10) 51次浏览 已收录 0个评论

<SCRIPT LANGUAGE="VBScript" RUNAT="SERVER">  
function makechart(title, numarray, labelarray, color, bgcolor, border
size, maxheight, maxwidth, addvalues)   
‘Function makechart version 3  

‘Jason Borovoy  
‘title: Chart Title  
‘numarray: An array of values for the chart  
‘labelarray: An array of labels coresponding to the values must me pr
esent  

http://www.gaodaima.com/66132.htmlasp生成Chart_asp

‘color If null uses different colors for bars if not null all bars co
lor you specify  
‘bgcolor Background color.  
‘bordersize: border size or 0 for no border.  
‘maxheight: maximum height for chart not including labels  
‘maxwidth: width of each column  
‘addvalues: true or false depending if you want the actual values sho
wn on the chart  
‘when you call the function use : response.write makechart(parameters
)  
   
‘actually returnstring would be a better name  
dim tablestring   
‘max value is maximum table value  
dim max   
‘maxlength maximum length of labels  
dim maxlength  
dim tempnumarray  
dim templabelarray  
dim heightarray  
Dim colorarray  
‘value to multiplie chart values by to get relitive size   
Dim multiplier  
‘if data valid  
if maxheight > 0 and maxwidth > 0 and ubound(labelarray) = ubound(num
array) then  
  ‘colorarray: color of each bars if more bars then colors loop throug
h  
  ‘if you don’t like my choices change them, add them, delete them.  
  colorarray = array("red","blue","yellow","navy","orange","purple","g
reen")  
  templabelarray = labelarray  
  tempnumarray = numarray  
  heightarray = array()  
  max = 0  
  maxlength = 0  
  tablestring = "<TABLE bgcolor=’" & bgcolor & "’ border=’" & bordersi
ze & "’>" & _  
    "<tr><td><TABLE border=’0′ cellspacing=’1′ cellpadding=’0′>" & vbC
rLf  
  ‘get maximum value  
  for each stuff in tempnumarray  
   if stuff > max then max = stuff end if   
  next  
  ‘calculate multiplier  
  multiplier = maxheight/max  
  ‘populate array  
  for counter = 0 to ubound(tempnumarray)  
   if tempnumarray(counter) = max then   
    redim preserve heightarray(counter)  
    heightarray(counter) = maxheight  
   else  
    redim preserve heightarray(counter)   
    heightarray(counter) = tempnumarray(counter) * multiplier   
   end if   
  next   

   ‘set title   
   tablestring = tablestring & "<TR><TH colspan=’" & ubound(tempnumarr
ay)+1 & "’>" & _  
     "<FONT FACE=’Verdana, Arial, Helvetica’ SIZE=’1′>" & title & "
</TH></TR>" & _  
      vbCrLf & "<TR>" & vbCrLf  
   ‘loop through values  
   for counter = 0 to ubound(tempnumarray)   
    tablestring = tablestring & vbTab & "<TD valign=’bottom’ align=’ce
nter’ >" & _  
    "<FONT FACE=’Verdana, Arial, Helvetica’ SIZE=’1′>" & _  
    "<table border=’0′ cellpadding=’0′ width=’" & maxwidth & "’><tr>"  
& _  
    "<tr><td valign=’bottom’ bgcolor=’"
if not isNUll(color) then
‘if color present use that color for bars
tablestring = tablestring & color
else
‘if not loop through colorarray
tablestring = tablestring & colorarray(counter mod (ubound(colora
rray)+1))
end if
tablestring = tablestring & "’ height=’" & _
round(heightarray(counter),2) & "’><img src=’chart.gif’ width=’1′
height=’1′>" & _  
     "</td></tr></table>"  
    if addvalues then  
     ‘print actual values  
     tablestring = tablestring & "
" & tempnumarray(counter)  
    end if   
    tablestring = tablestring & "</TD>" & vbCrLf  
   next  
   
  tablestring = tablestring & "</TR>" & vbCrLf  
  ‘calculate max lenght of labels  
  for each stuff in labelarray  
   if len(stuff) >= maxlength then maxlength = len(stuff)  
  next  
  ‘print labels and set each to maxlength  
  for each stuff in labelarray  
   tablestring = tablestring & vbTab & "<TD align=’center’><" & _
"FONT FACE=’Verdana, Arial, Helvetica’ SIZE=’1′> "   
   for count = 0 to round((maxlength – len(stuff))/2)  
    tablestring = tablestring & " "  
   next  
   if maxlength mod 2 <> 0 then tablestring = tablestring & " "  
   tablestring = tablestring & stuff   
   for count = 0 to round((maxlength – len(stuff))/2)  
    tablestring = tablestring & " "  
   next  
   tablestring = tablestring & " </TD>" & vbCrLf  
  next  
     
  tablestring = tablestring & "</TABLE></td></tr></table>" & vbCrLf  
  makechart = tablestring  
else  
  Response.Write "Error Function Makechart: maxwidth and maxlength hav
e to be greater " & _  
  " then 0 or number of labels not equal to number of values"  
end if   
end function  

dim stuff  
dim labelstuff  
‘ Demo 1  
stuff = Array(5,30)  
labelstuff = Array("北京", "广州")  
Response.Write makechart("Demo 1", stuff, labelstuff, null, "gold",10,
50,40,true)  

欢迎大家阅读《用ASP生成Chart_asp》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址