我正在一个网页上,它从SQL数据库获取其数据。我想打破记录,以便当它到达第三行时,它将打破到另一页。
我有一个Javacript,以便它可以中断页面。但是,此记录显示在表中。而且我不知道如何放置在代码中。有什么建议吗?
谢谢。

<style>div.break {page-break-before:always}</style>

Sub DisplayRecords()
    Do until registerRS.eof
        counter=counter+1
        if counter=41 then
            counter=0
            counter=counter+1
        end if
        r = r + 1
        If r = 1 then
            Response.write "<tr>"
        End if
        %>
    <td>
    <%=registerRS.Fields("SchoolId")%> <br />
    Class: <%=registerRS.Fields("class")%><br />
    </td>
        <%
        If r = 2 then
            Response.write "</tr>"
        End if

        If r = 3 then r = 1
        registerRS.movenext
    loop
    registerRS.close
    set registerRS=nothing
End sub

最佳答案

您应该能够将该样式应用于表格行。通过查看您的代码,我假设您希望每行显示3条记录,每三行分页。如果是这样,您可以执行以下操作:

的CSS

tr.break {page-break-before:always;}


均价

Sub DisplayRecords()
    rowCount = 0
    Do until registerRS.eof
    counter=counter+1
    if counter=41 then
    counter=0
    counter=counter+1
    end if
    r = r + 1
    If r = 1 then
       if rowCount < 3 then
          Response.write "<tr>"
          rowCount = rowCount + 1
       else
          Response.write "<tr class='break'>"
          rowCount = 0
    End if
    %>
<td>
<%=registerRS.Fields("SchoolId")%> <br />
Class: <%=registerRS.Fields("class")%><br />
</td>


    <%
    If r = 2 then
            Response.write "</tr>"
        End if

        If r = 3 then r = 1
    registerRS.movenext
    loop
    registerRS.close
    set registerRS=nothing
    End sub
    %>


This fiddle显示操作中的代码。打印this page以查看分页符的操作。

然而

做到这一点最优雅的方法是使用CSS3 nth Child Selector。缺点是缺乏旧版浏览器和IE的浏览器支持。

您将使用类似:

tr:nth-child(3n +4) {page-break-before:always;}
/*3n says select every third row with + 4 being the row to start from*/


请参见this fiddle并打印预览this one

关于javascript - 打破经典的ASP页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8409866/

10-13 06:37