Solved

Printing asp pages

Posted on 2007-03-28
16
263 Views
Last Modified: 2010-04-25
Hello
I have a report in .asp from Dreamweaver
There is a repeat behaviour which shows 10 records, the next 10 appear on the next page and so on

Is there a way that I can get all of the records to print on their relative pages from a print command?

Thanks
John
0
Comment
Question by:johnhardy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 6
  • 2
16 Comments
 
LVL 25

Expert Comment

by:Rouchie
ID: 18807313
Not quite sure what you're asking here.  Do you mean get 10 records printed per page?

If so, you can do this in CSS.  I presume the results appear in a table?  If so, you can add this CSS style to wherever you need the page break to occur.  This example uses a table

<table style="page-break-before: always;">

Post your code if you need more help here.
0
 
LVL 9

Expert Comment

by:fuzzboxer
ID: 18807991
You need to find the line of code on that page that says Repeat1_numRows = 10 and change the number to -1.  That will list every record on one page.
0
 

Author Comment

by:johnhardy
ID: 18808206
Thanks
To clarify a little (I hope)  it is an asp page with a repeat behaviours within a table and yes a ctrl P will print what ever is showing on the page.
The repeating  lines will print,  but only the page that can be seen will print.

So if I have  more that 10 lines the remainder will appear on the next page and so will not print.
I wonder if thats clearer?
I tried this in the table
    <td><table style="page-break-before: always, width="740"  border="0" cellspacing="0" cellpadding="0">  but it did not seem to make any difference.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:johnhardy
ID: 18808758
Thanks fuzzboxer:
If I set the repeat region to -1 it gives me all records that OK
However when the file prints the second (or third etc) page the second page will start halfway through a repeated line.
It would be good to get at least a complete repeated area and preferably the top of each page (a heading printed.
Maybe the following sketch will illustrate the idea
-------------------------------------------------------------------------------------
| Heading information                                                                               |
--------------------------------------------------------------------------------------
| Reapeated region                                                                                    |
| line 1                                                                                                        |
| line 2                                                                                                        |
!end repeated region                                                                                 |
|--------------------------------------------------------------------------------------|
If I use <table style="page-break-before: always;">
I get a blank page printed first
0
 
LVL 9

Expert Comment

by:fuzzboxer
ID: 18808842
If you want the site header to be printed on each page, you are going to have to set up a CSS file for printing.

However, if you are talking about printing the table headers, then you could try setting up a nested repeat to print the table headers every 20 records or so.  Using this method will not print the headers at the top of each page, though.
0
 
LVL 25

Expert Comment

by:Rouchie
ID: 18808866
>> Using this method will not print the headers at the top of each page, though.

I think it could if you used:

  <tr style="page-break-after: always;">

or whatever DW uses to re-display the headers every 20 lines.
0
 

Author Comment

by:johnhardy
ID: 18808870
Thanks
Can you point me to any examples please?
0
 
LVL 9

Accepted Solution

by:
fuzzboxer earned 500 total points
ID: 18809050
I tested this out in Dreamweaver and it works like you want it to.  Increase or decrease the mod number (30, in this case) to adjust the number of records you get before it prints the header.


<table>
<%
While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF))
%>
<%
RecordCounter = RecordCounter + 1
If RecordCounter Mod 30 = 1 Then%>
<tr style="page-break-before: always;">
<th>Heading 1</th>
<th>Heading 2</th>
</tr>
<%End If%>
<tr>
<td><%=(Recordset1.Fields.Item("Column1").Value)%></td>
<td><%=(Recordset1.Fields.Item("Column2").Value)%></td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
Recordset1.MoveNext()
Wend
%>
</table>
0
 

Author Comment

by:johnhardy
ID: 18809567
Thanks fuzzboxer:
I will come back to you on this.
0
 

Author Comment

by:johnhardy
ID: 18811265
Thanks fuzzboxer:
That is great, one small item, at the moment it prints out a blank page as the first page. Can I prevent this?
0
 
LVL 9

Expert Comment

by:fuzzboxer
ID: 18811393
Okay, I just tested it in IE6 and I see what you mean.  It works fine in Firefox.
0
 
LVL 9

Expert Comment

by:fuzzboxer
ID: 18811569
Here's a solution:

Put this code before the while loop:
<tr>
<th>Heading 1</th>
<th>Heading 2</th>
</tr>

Now change the mod to 30 = 29.

That should get rid of the blank page and still print your header on the first page.
0
 

Author Comment

by:johnhardy
ID: 18811773
Thanks so much.
I managed to get a simple page working fine but the more complicated page I need does not work.
I expect I am doing something wrong and wonwer if you can see the mistake?

I am getting an error
Microsoft VBScript runtime (0x800A01A8)
Object required: ''
/adbprod/BuildPreAssy2.asp, line 339
Code is:
I marked line 339
While ((Repeat1__numRows <> 0) AND (NOT rsPreAssy.EOF)) ' Line 339

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/ConnAldhaen.asp" -->
<%
Dim rsPreAssy
Dim rsPreAssy_numRows

Set rsPreAssy = Server.CreateObject("ADODB.Recordset")
rsPreAssy.ActiveConnection = MM_ConnAldhaen_STRING
rsPreAssy.Source = "SELECT *  FROM OperationsQ  WHERE BoatTypeName ='military36' AND OpArea =2  ORDER BY OpBoatType ASC, OpArea ASC, OpSort ASC"
rsPreAssy.CursorType = 0
rsPreAssy.CursorLocation = 2
rsPreAssy.LockType = 1
rsPreAssy.Open()

rsPreAssy_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
rsPreAssy_numRows = rsPreAssy_numRows + Repeat1__numRows
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<script type="text/javascript" src="p7pm/p7popmenu.js"></script>
<style type="text/css" media="screen">
<!--
@import url(p7pm/p7pmv12.css);
-->
</style>

<link href="Styles.css" rel="stylesheet" type="text/css">

</head>

<body bgcolor="#000033" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="P7_initPM(0,12,1,-20,10)">
<table>
<%
While ((Repeat1__numRows <> 0) AND (NOT rsPreAssy.EOF)) ' Line 339
%>
<%
RecordCounter = RecordCounter + 1
If RecordCounter Mod 15 = 1 Then%>
<tr bgcolor="#FFFFFF" style="page-break-before: always;">
    <th>Heading 1</th>
    <th>Heading 2</th>
</tr>
<%End If%>
<tr bgcolor="#FFFFFF">
    <td><%=(rsPreAssy.Fields.Item("OpName").Value)%></td>
    <td><%=(rsPreAssy.Fields.Item("AreaName").Value)%></td>
</tr>
<%
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  rsPreAssy.MoveNext()
Wend
%>
</table>

<p>&nbsp;</p>
</body>
</html>
<%
rsPreAssy.Close()
Set rsPreAssy = Nothing
%>
0
 
LVL 9

Expert Comment

by:fuzzboxer
ID: 18811828
Were you getting this error before making any changes?
0
 

Author Comment

by:johnhardy
ID: 18811864
Thanks
I think I found my mistake.
I hadnt changed recordset1 to rsPreAssy in some places.

0
 

Author Comment

by:johnhardy
ID: 18812157
Many thanks,

I have learned a great deal
John
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:   The Exchange of informatio…
This article is very specific and is only intended to help if you are installing Dreamweaver 8 in a Windows 7 environment with Office 2007 installed.   I'm not sure why Microsoft tends to release OS' that should not be released but they do.  Windows…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question