作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 08:48:12 阅读 我要评论

没有用正常的循环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

  推荐阅读

  HTTP_HOST 和 SERVER_NAME 的区别详解

相关资料: 查看所有的Server VariablesServerVariables集合检索预定的环境变量意义 今天突然想起每次请求 HTTP_HOST 和 SERVER_NAME 的值总是一样的,干嘛还有用两个名称,它们之间有什么区别呢? 网上也没有一个确定>>>详细阅读


本文标题:我用ASP写的m行n列的函数,动态输出创建TABLE行列

地址:http://www.17bianji.com/kaifa2/ASP/32779.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)