源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[ASP编程] 我用ASP写的m行n列的函数,动态输出创建TABLE行列

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2007-2-7 00:00:00 | 显示全部楼层 |阅读模式
没有用正常的循环tr内循环td的方法,所以就没有计算最后一页的记录集数量。
但当记录集不足时也同样能够自动补空行空列,如有不足请指出,谢谢。
使用方法很简单:

复制代码 代码如下:
<% 
showData("查询语名") 
Call pagehead(行数,列数) 
'------------------------------------------------------------------------------- 
'可以把下面的Response.Write()写到函数里面,看个人的爱好了。 
Response.Write(FormatCRtable(表格宽度,表格高度)) 
Response.Write(PageFoot()) 
Call closeData() 
%> 

函数如下: 

 

复制代码 代码如下:
<% 
'------------------------------------------------------------------------------- 
'Copyright 2005 by Jorkin.All Rights Reserved 
'------------------------------------------------------------------------------- 
Public rs 
Public pageno,Cols,Rows,maxpageno,maxredcount,maxpagesize 
'------------------------------------------------------------------------------- 
Public Function showData(sqlstrings) 
  Set rs=Server.CreateObject("ADODB.Recordset") 
  rs.open sqlstrings,oconn,1,3 
End Function 
Public Function closeData() 
  rs.close 
  Set rs=Nothing 
End Function 
'初始化分页 
'MaxRows =最大行数 
'MaxCols =最大列数 
'------------------------------------------------------------------------------- 
Public Function PageHead(MaxRows,MaxCols) 
'------------------------------------------------------------------------------- 
  Rows=MaxRows 
  Cols=MaxCols 
  maxpagesize=1 
  maxredcount=0 
  maxpageno=0 
  pageno=0 
'------------------------------------------------------------------------------- 
  maxredcount = rs.recordcount 
  If maxredcount>0 then 
  maxpagesize = Rows*Cols 
  maxpageno = Cint((maxredcount+maxpagesize-1)/maxpagesize) 
  rs.pagesize = maxpagesize 
  pageno=Request("pageno") 
  If IsEmpty(pageno) Or Not IsNumeric(pageno) Or CInt(pageno)<1 Or CInt(pageno)>Rs.Pagecount Then 
   Pageno=1 
  End If 
  rs.absolutePage=pageno 
  End If 
  On Error Resume Next 
End Function 
'分页函数尾 
'无参数 
'------------------------------------------------------------------------------- 
Public Function PageFoot() 
  strr="<table width=""500"" border=""0"" cellpadding=""0"" cellspacing=""0"">" & VbCrLf 
  strr=strr&"  <tr>" & VbCrLf 
  strr=strr&"    <td valign=""top""><div align=""Right"">" 
'大于1页才会显示首页和上一页(可选) 
' If pageno>1 Then 
   strr=strr&"<a href=""?pageno=1"" title=""首页""><font face = Webdings>9</font></a>" 
   strr=strr&" " 
   strr=strr&"<a href=""?pageno="&pageno-1&""" title=""上一页""><font face = Webdings>7</font></a>" 
' End If 
  strr=strr&" "&pageno&" " 
'小于最大页数才会显示下一页和尾页(可选) 
' If pageno<maxpageno Then 
   strr=strr&"<a href=""?pageno="&pageno+1&""" title=""下一页""><font face = Webdings>8</font></a>" 
   strr=strr&" " 
   strr=strr&"<a href=""?pageno="&maxpageno&""" title=""""><font face = Webdings>:</font></a>" 
' End If 
  strr=strr&"    " 
  strr=strr&(pageno-1)*maxpagesize+1&"/"&maxredcount&"条记录" 
  strr=strr&"    " 
  strr=strr&pageno&"/"&maxpageno&"页" 
  strr=strr&"</div></td>" & VbCrLf 
  strr=strr&"  </tr>" & vbCrLf 
  strr=strr&"</table>" 
  PageFoot=strr 
End Function 
'进行行列格式化函数 
'TableWidth  =表格宽度 
'TableHeight =表格高度(因浏览器不同可能无效) 
'------------------------------------------------------------------------------- 
Public Function FormatCRtable(TableWidth,TableHeight) 
  Dim i,strr 
  i=0 
  strr="" 
  strr=strr&"<table width="""&TableWidth&"""  border=""0"" cellspacing=""0"" cellpadding=""0"">" & vbCrLf 
  strr=strr&"  <tr>" & VbCrLf 
  If maxredcount>0 Then 
   Do While i<maxpagesize 
    i=i+1 
    If Not Rs.eof Then 
     strr=strr&"    <td width="""&TableWidth/Cols&""" height="""&Tableheight/Rows&""">有记录则进行输出</td>" & vbCrLf 
     Rs.movenext 
    Else 
     strr=strr&"    <td width="""&TableWidth/Cols&""" height="""&Tableheight/Rows&""">记录集不足时补余</td>" & VbCrLf 
    End If 
    If i Mod Cols = 0 Then 
     strr=strr&"  </tr>" & VbCrLf 
     strr=strr&"  <tr>" & vbCrLf 
    End If 
   Loop 
  Else 
   strr=strr&"<td height="""&TableWidth&""" valign=""top"">目前没有记录集</td>" 
  End if 
  strr=strr&"  </tr>" & VbCrLf 
  strr=strr&"</table>" & VbCrLf 
  FormatCRtable=strr 
End Function 
%> 
代码还有很多不足,而且写的也不是很严谨,见笑了。
以后可以会改为Class
转自:http://jorkin.reallydo.com/article.asp?id=15
回复

使用道具 举报

7

主题

2万

回帖

398

积分

中级会员

Rank: 3Rank: 3

积分
398
发表于 2022-10-23 05:52:26 | 显示全部楼层
谢谢分享,先下来用用
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-12-9 23:31:13 | 显示全部楼层
8888888888888888
回复 支持 反对

使用道具 举报

9

主题

2万

回帖

420

积分

中级会员

Rank: 3Rank: 3

积分
420
发表于 2023-7-18 15:45:55 | 显示全部楼层
额头额定法国队是范德萨
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

316

积分

中级会员

Rank: 3Rank: 3

积分
316
发表于 2023-9-1 10:19:44 | 显示全部楼层
啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

182

积分

注册会员

Rank: 2

积分
182
发表于 2023-10-16 23:16:59 | 显示全部楼层
飞飞飞飞飞飞飞飞飞飞飞飞飞
回复 支持 反对

使用道具 举报

11

主题

2万

回帖

300

积分

中级会员

Rank: 3Rank: 3

积分
300
发表于 2023-12-11 00:47:49 | 显示全部楼层
管灌灌灌灌灌灌灌灌灌灌
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

115

积分

注册会员

Rank: 2

积分
115
发表于 2024-1-21 16:10:47 | 显示全部楼层
需要很久了终于找到了
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-3-2 07:32:20 | 显示全部楼层
源码源码源码源码源码源码源码源码源码源码源码源码源码
回复 支持 反对

使用道具 举报

15

主题

2万

回帖

122

积分

注册会员

Rank: 2

积分
122
发表于 2024-3-7 08:51:40 | 显示全部楼层
飞飞飞飞飞飞飞飞飞飞飞飞飞
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-6 03:04 , Processed in 0.132978 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表