没有用正常的循环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)Rs.Pagecount Then
Pageno=1
End If
rs.absolutePage=pageno
End If
On Error Resume Next
End Function
‘分页函数尾
‘无参数
‘——————————————————————————-
Public Function PageFoot()
strr=”
” ‘大于1页才会显示首页和上一页(可选) ‘ If pageno>1 Then strr=strr&”9” strr=strr&” ” strr=strr&”7” ‘ End If strr=strr&” “&pageno&” ” ‘小于最大页数才会显示下一页和尾页(可选) ‘ If pageno<maxpageno Then strr=strr&”8” strr=strr&” ” strr=strr&”:” ‘ End If strr=strr&” ” strr=strr&(pageno-1)*maxpagesize+1&”/”&maxredcount&”条记录” strr=strr&” ” strr=strr&pageno&”/”&maxpageno&”页” strr=strr&” |
”
PageFoot=strr
End Function
‘进行行列格式化函数
‘TableWidth =表格宽度
‘TableHeight =表格高度(因浏览器不同可能无效)
‘——————————————————————————-
Public Function FormatCRtable(TableWidth,TableHeight)
Dim i,strr
i=0
strr=””
strr=strr&”
有记录则进行输出 | 记录集不足时补余 |
目前没有记录集 |
” & VbCrLf
FormatCRtable=strr
End Function
%>
代码还有很多不足,而且写的也不是很严谨,见笑了。
以后可以会改为Class
转自:http://jorkin.reallydo.com/article.asp?id=15