`

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

    博客分类:
  • Asp
阅读更多

没有用正常的循环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
分享到:
评论

相关推荐

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

    根据提供的文件信息,本文将详细解释一个使用ASP(Active Server Pages)编写的函数,该函数用于动态地创建一个具有指定行数(m行)和列数(n列)的HTML表格,并实现数据分页功能。 ### 函数概述 在ASP中,通过...

    asp.net C#表格的添加,行列的添加

    2. **创建新的行(`&lt;tr&gt;`)和列(`&lt;td&gt;`)**:使用`document.createElement("tr")`和`document.createElement("td")`函数来创建新的行和列元素。 3. **设置属性**:为新创建的行和列元素设置必要的属性,如`id`、`...

    循环获取多行table值.rar

    对于一列对多行的情况,可能需要使用嵌套循环,外层循环遍历每一列,内层循环遍历该列对应的多行数据。 6. **事件处理**:如果要实现“可直接运行”,可能需要监听用户的特定行为,如点击按钮。使用`...

    ASP/PHP语言九九乘法表程序实例-表格输出带CSS样式

    在编程领域,特别是Web开发,ASP(Active Server Pages)和PHP是两种常见的脚本语言,用于创建动态网页。本文将详细解析如何使用这两种语言实现一个经典的教育工具——九九乘法表,并结合CSS(Cascading Style ...

    常用ASP函数封装下载

    根据提供的文件信息,我们可以归纳出一系列与ASP相关的实用函数封装,这些函数主要涉及字符串处理、数据验证、系统信息获取等多个方面。接下来将详细介绍这些函数的功能及用法。 ### 1. StrLength - **功能**: 计算...

    C#实现动态生成表格的方法

    接下来,使用两个嵌套的for循环分别遍历行和列,生成表格的 `&lt;tr&gt;` 和 `&lt;td&gt;` 标签。在内部循环中,我们检查当前条目是否在有效范围内,并根据条件填充数据或空格。 请注意,此示例中的表格样式没有进行设置。在...

    asp.net 面试题

    ASP.NET 是微软公司推出的一种基于.NET Framework的服务器端Web应用程序开发平台,用于构建动态网站、Web应用程序和服务。这里我们来详细探讨一下ASP.NET面试中可能会遇到的一些知识点。 1. **表达式求值**: 1-2+...

    函数的过程名

    ### 函数的过程名 在网页程序开发中,代码组织与函数设计是十分重要的部分,能够帮助开发者更好地管理和维护代码。根据提供的文件信息,“函数的过程名”主要涉及的是一个用于显示产品的列表页面,其中包含了产品的...

    关于ASP循环表格的问题之解答[比较详细]

    ASP(Active Server Pages)是微软公司开发的一种服务器端脚本环境,用于创建动态交互式网页。在处理ASP循环表格时,我们经常会遇到需要在表格中循环显示数据的情况。本知识点将详细介绍如何在ASP中构建循环表格,并...

    FIF小组ASP互动视频教程之互动题目答案

    通过理解和掌握这些概念,学员们能够更好地学习和应用ASP技术来创建动态网站和Web应用程序。在实际编程过程中,要注意细节,如空格、注释和正确的语法,以确保代码的正确执行。同时,理解并熟练运用条件语句和循环...

    ASP.NET 3.5 开发大全

    2.3.6 创建和使用常量 2.3.7 创建并使用枚举 2.3.8 类型转换 2.4 编写表达式 2.4.1 表达式和运算符 2.4.2 运算符的优先级 2.5 使用条件语句 2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 ...

    ASP程序设计课后答案 叶潮流著

    ASP,全称为Active Server Pages,是一种由微软开发的服务器端脚本环境,用于创建动态交互式网页。ASP技术允许开发者结合HTML、脚本语言(如VBScript或JScript)以及服务器端组件来生成动态Web内容。在叶潮流所著的...

    ASP.NET 3.5 开发大全11-15

    2.3.6 创建和使用常量 2.3.7 创建并使用枚举 2.3.8 类型转换 2.4 编写表达式 2.4.1 表达式和运算符 2.4.2 运算符的优先级 2.5 使用条件语句 2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 ...

    ASP.NET 3.5 开发大全1-5

    2.3.6 创建和使用常量 2.3.7 创建并使用枚举 2.3.8 类型转换 2.4 编写表达式 2.4.1 表达式和运算符 2.4.2 运算符的优先级 2.5 使用条件语句 2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 ...

    asp将table生成excel文件(xls)

    ASP (Active Server Pages) 是一种早期的服务器端脚本环境,可以用来创建动态网页,并且支持多种编程语言,如VBScript。本文将详细介绍如何使用ASP结合VBScript将HTML表格(`&lt;table&gt;`元素)转换并导出为Excel文件。 ...

    asp连接和读取数据库.doc

    ASP(Active Server Pages)是一种微软开发的服务器端脚本技术,用于动态网页的创建。本文主要讲解如何使用ASP连接和读取ACCESS数据库。 首先,我们要理解ACCESS数据库的基本操作。ACCESS数据库是以.MDB为扩展名的...

    ASP与PHP语法区别比较

    ASP(Active Server Pages)和PHP(Hypertext Preprocessor)都是服务器端脚本语言,用于构建动态网页。本文将详细对比这两种语言在语法结构、变量处理、控制结构、文件包含、数据获取、Cookie操作、全局变量、...

    ASP+ACCESS用split分割与指定字符串的比较方法

    ### ASP+ACCESS中使用Split函数进行字符串分割及比较方法 #### 概述 在ASP(Active Server Pages)脚本语言中,开发人员经常需要处理字符串的分割与比较操作。其中,`Split`函数是一个非常实用的功能,它可以将一...

    ASP.NET3.5从入门到精通

    2.3.6 创建和使用常量 2.3.7 创建并使用枚举 2.3.8 类型转换 2.4 编写表达式 2.4.1 表达式和运算符 2.4.2 运算符的优先级 2.5 使用条件语句 2.5.1 if 语句的使用方法 2.5.2 switch 选择语句的使用 2.6 使用循环语句 ...

Global site tag (gtag.js) - Google Analytics