begin process at 2012 02 14 05:29:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > C'EST COMME DE LE PAGINATION À PART QUE C'EST POUR L'IMPRESSION

C'EST COMME DE LE PAGINATION À PART QUE C'EST POUR L'IMPRESSION


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :pagination, pager, impression, print, imprimer Niveau :Débutant Date de création :09/02/2005 Vu / téléchargé :7 308 / 248

Auteur : jessie

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

vous choisissez le nombre d'enregistrement à ne pas dépasser par page, et ça vous imprime ici sous forme de tableau, un tableau par page qui n'est pas coupé en fin de page en fin les problèmes de mise en page pour l'impression habituels quoi!

Pas besoin d'ouvrir la fenêtre du choix d'imprimante, elle s'ouvre toute seule.

Source

  • <!--
  • Auteur Jessie
  • J'ai bien détaillé le code, exprès pour les Newbies
  • Pour les personnes plus avancés, vous passez certains commentaires
  • trop détaillés.
  • J'espère que ça vous aidera, je n'ai pas trouvé de source parlant de la
  • mise en page pour l'impression, avec un tableau qui reprend des données
  • d'une table.
  • Dernière chose
  • J'ai limité à 18 enregistrements par tableau, par ce que pour mon cas
  • il n'en tenait pas plus.
  • Sachant aussi qu'il faut jouer avec les marges, je vous conseille de vous intéresser
  • Au CSS.
  • Si Questions, vous savez où me joindre.
  • -->
  • <!--#include file="../../BD/connexionbase.asp"-->
  • <%
  • Dim strSQL29
  • '*****************************************************************************
  • '* On cree sa requete SQL (ici c'est la mienne, mettre bien entendu la votre)*
  • '*****************************************************************************
  • StrSQL29 = "SELECT Sum(CONGES.Nbre) AS SommeDeNbre, admin.ID1, admin.Fonction, Groupe.Services, CONGES.DateDeb, CONGES.DateFin, Month(CONGES.DateFin) AS MOIS, Year(CONGES.DateFin)As Expr2, CONGES.Nature, CONGES.Valider, CONGES.Refus, CONGES.IDConges, CONGES.DEM, admin.nom, admin.prenom FROM Groupe INNER JOIN (admin INNER JOIN CONGES ON admin.ID1 = CONGES.ID1) ON Groupe.Groupes = admin.SERVICE1 GROUP BY admin.ID1, admin.SERVICE1, Groupe.Groupes, admin.Fonction, Groupe.Services, CONGES.DateDeb, CONGES.IDConges, CONGES.DEM, CONGES.DateFin, CONGES.Nature, CONGES.Valider, CONGES.Refus, admin.nom, admin.prenom HAVING Groupe.Services = '"&request.querystring("Serv")&"' AND Month(CONGES.DateFin)="&request.querystring("mois")&" AND CONGES.Valider=True ORDER BY DateDeb DESC;"
  • SET rs = Server.CreateObject("AdoDB.RecordSet")
  • '************************************************************
  • '* Récupération des informations du select dans un RecordSet*
  • '************************************************************
  • rs.Open strSQL29, conn,3,3
  • %>
  • <HTML>
  • <HEAD>
  • <!--
  • Ici c'est ma ligne pour ma feuille de style, donc si vous en avez pas
  • enlever la 1 ere ligne ci dessous (<link rel etc...>)
  • -->
  • <link rel = "stylesheet" type = "text/css" href = "../../CSS/Absences_Print.css">
  • <TITLE>Tableau récapitulatif des Absences par Services pour le Mois de <%=request.querystring("mois")%></TITLE>
  • <!--
  • Petit code que j'ai trouvé sur un site
  • qui permet de revenir à la page précedente
  • une fois que l'on a imprimé au bout 5000 millisecondes
  • elle revient à la page précèdente.
  • -->
  • <!-- DEBUT REMOVE PRINT-->
  • <!--http://www.javascriptkit.com/-->
  • <script language="JavaScript">
  • function revertback()
  • {
  • setTimeout("history.go(-1)",5000)
  • }
  • window.onafterprint=revertback
  • </script>
  • <!-- FIN REMOVE PRINT-->
  • </HEAD>
  • <!--
  • La ligne ci dessous permet de charger votre page
  • avec la fenetre de l'impression qui s'ouvre automatiquement
  • donc si vous ne voulez pas, mettre un <Body> tout simple
  • -->
  • <BODY OnLoad = "window.print()">
  • <%
  • '****************************************
  • '*Le rs.pagesize permet de limiter *
  • '*le nombre d'enregistrement sur ma page*
  • '*ici c'est 18 enregistrements *
  • '****************************************
  • rs.pagesize = 18
  • '******************************************************************************
  • '*Si vous enlevez la ligne "response.write..." du commentaire, ça vous donnera*
  • '*le nombre de page qui dépend du nbre d'enregistrement par page (ici 18), *
  • '*et le nbre d'enregistrement total qui dépend de votre requête. *
  • '*response.write rs.pagecount& " " &rs.recordcount& " *
  • '******************************************************************************
  • '************************************
  • '*Limite à ne pas dépasser *
  • '*c'est le total des enregistrements*
  • '*de ma requête *
  • '************************************
  • LimiteFin = rs.recordcount
  • '******************************************************************
  • '*Si il n'y a pas d'enregistrement ma petite fonction Validation()*
  • '*ouvre une boite de dialogue Vbscript donc vous devez remplacer *
  • '*cette ligne par ce que vous voulez. *
  • '*Exemple: response.write "C'est vide" *
  • '******************************************************************
  • If rs.EOF and rs.BOF then
  • response.write "<Script language='VBScript'>Validation()</SCRIPT>"
  • else
  • '**********************************************************
  • '*On commence la 1ère boucle qui permet de passer le total*
  • '*des enregistrements *
  • '**********************************************************
  • For i = 0 to LimiteFin
  • %>
  • <!--
  • Attention si vous laissez le titre dans la boucle ainsi que
  • les En-Têtes de colonne, vous aurez un tableau avec un titre
  • sur chaque feuille et les En-Tête de chaque colonne aussi
  • Mais moi je trouve que c'est plus claire d'avoir le titre et
  • le tableau complet qui se répète sur chacune des feuilles
  • -->
  • <H1>Tableau récapitulatif des Absences par Services pour le Mois de <%=Ucase(t)%></H1>
  • <DIV>
  • <!--
  • Commencement du tableau
  • Enlever toutes les ( class="table1", etc.. ) (c'est pour ma feuille de style CSS)
  • ou créer une feuille de style
  • Si vous ne savez pas ce qu'est une feuille de style, regardez sur le net
  • -->
  • <TABLE class="table1">
  • <!--En-Tête du tableau-->
  • <TR>
  • <TH class="histo">Utilisateurs</TH>
  • <TH class="histo">Services</TH>
  • <TH class="histo">Date de Debut</TH>
  • <TH class="histo">Date de Fin</TH>
  • </TR>
  • <%
  • '*****************************************************
  • '*2ème boucle imbriquée dans la 1ère qui va permettre*
  • '*de limiter le nbre d'enregistrement à (ici 18) par *
  • '*page *
  • '*****************************************************
  • For x = 1 to rs.pagesize
  • '****************************************
  • '*Corp de mon tableau avec récupération *
  • '*des variables de ma requête, donc à *
  • '*changer avec les votres. *
  • '****************************************
  • %>
  • <TR class="histo">
  • <TD class="histo"><%= Ucase(rs("Nom"))%>&nbsp;<%=Ucase(rs("Prenom"))%></TD>
  • <TD class="histo"><%= Ucase(rs("Services"))%></TD>
  • <TD class="histo"><%= rs("DateDeb") %></TD>
  • <TD class="histo"><%= rs("DateFin") %></TD>
  • </TR>
  • <%
  • '*************************************
  • '*Je passe à l'enregistrement suivant*
  • '*************************************
  • rs.movenext
  • '*************************************
  • '*Si plus d'enregistrement on sort de*
  • '*la 2ème boucle *
  • '*************************************
  • If rs.eof Then Exit for
  • '*********************************
  • '*autrement on continue la boucle*
  • '*********************************
  • Next
  • '****************
  • '*Fin de Tableau*
  • '****************
  • %>
  • </TABLE></DIV>
  • <%
  • '*************************************
  • '*Si plus de page on sort de pages *
  • '*on sort de la 1 ère boucle *
  • '*************************************
  • If rs.eof Then Exit for
  • '***********************************************************************
  • '*Si encore des pages on génère un saut de page, ici(<Br class='saut'>)*
  • '*c'est ma feuille de style CSS, Vous, vous remplacez par *
  • '*<Br style='page-break-after = always;'>, si pas feuille de style *
  • '*Ca vous permet d'avoir un tableau par page *
  • '***********************************************************************
  • If not Rs.EOF then
  • response.write "<Br class='saut'>"
  • End If
  • Next
  • '**********************************************
  • '*Je ferme mon premier "If" vous vous souvenez*
  • '*apres le BODY. *
  • '**********************************************
  • End If
  • '****************************************
  • '*Et pour finir je cloture mon recordset *
  • '*et je le vide *
  • '****************************************
  • rs.close
  • Set rs = Nothing
  • %>
  • </BODY>
  • <!--#include file="../../BD/deconnexionbase.asp"-->
  • </HTML>
<!--
Auteur Jessie
J'ai bien détaillé le code, exprès pour les Newbies
Pour les personnes plus avancés, vous passez certains commentaires
trop détaillés.
J'espère que ça vous aidera, je n'ai pas trouvé de source parlant de la 
mise en page pour l'impression, avec un tableau qui reprend des données 
d'une table.


Dernière chose
J'ai limité à 18 enregistrements par tableau, par ce que pour mon cas
il n'en tenait pas plus.

Sachant aussi qu'il faut jouer avec les marges, je vous conseille de vous intéresser
Au CSS.
Si Questions, vous savez où me joindre.

-->


<!--#include file="../../BD/connexionbase.asp"-->
<%
Dim strSQL29
'*****************************************************************************
'* On cree sa requete SQL (ici c'est la mienne, mettre bien entendu la votre)*
'*****************************************************************************

   StrSQL29 = "SELECT Sum(CONGES.Nbre) AS SommeDeNbre, admin.ID1, admin.Fonction, Groupe.Services, CONGES.DateDeb, CONGES.DateFin, Month(CONGES.DateFin) AS MOIS, Year(CONGES.DateFin)As Expr2, CONGES.Nature, CONGES.Valider, CONGES.Refus, CONGES.IDConges, CONGES.DEM, admin.nom, admin.prenom FROM Groupe INNER JOIN (admin INNER JOIN CONGES ON admin.ID1 = CONGES.ID1) ON Groupe.Groupes = admin.SERVICE1 GROUP BY admin.ID1, admin.SERVICE1, Groupe.Groupes, admin.Fonction, Groupe.Services, CONGES.DateDeb, CONGES.IDConges, CONGES.DEM, CONGES.DateFin, CONGES.Nature, CONGES.Valider, CONGES.Refus, admin.nom, admin.prenom HAVING Groupe.Services = '"&request.querystring("Serv")&"' AND Month(CONGES.DateFin)="&request.querystring("mois")&" AND CONGES.Valider=True ORDER BY DateDeb DESC;"
   
   SET rs = Server.CreateObject("AdoDB.RecordSet")


'************************************************************
'* Récupération des informations du select dans un RecordSet*
'************************************************************ 

      rs.Open strSQL29, conn,3,3 
      

%>
<HTML>
<HEAD>
<!--
Ici c'est ma ligne pour ma feuille de style, donc si vous en avez pas
enlever la 1 ere ligne ci dessous (<link rel etc...>)
-->   
<link rel = "stylesheet" type = "text/css" href = "../../CSS/Absences_Print.css">


<TITLE>Tableau récapitulatif des Absences par Services pour le Mois de <%=request.querystring("mois")%></TITLE>   
<!--
Petit code que j'ai trouvé sur un site
qui permet de revenir à la page précedente
une fois que l'on a imprimé au bout 5000 millisecondes
elle revient à la page précèdente.
-->

 <!-- DEBUT REMOVE PRINT-->
<!--http://www.javascriptkit.com/-->
<script language="JavaScript">

function revertback()
{
setTimeout("history.go(-1)",5000)
}
window.onafterprint=revertback

</script>
<!-- FIN REMOVE PRINT-->
</HEAD>  

<!--
La ligne ci dessous permet de charger votre page
avec la fenetre de l'impression qui s'ouvre automatiquement
donc si vous ne voulez pas, mettre un <Body> tout simple
-->  
<BODY OnLoad = "window.print()"> 
 
<%
'****************************************
'*Le rs.pagesize permet de limiter	*
'*le nombre d'enregistrement sur ma page*
'*ici c'est 18 enregistrements		*
'**************************************** 
 
 rs.pagesize = 18
 
'******************************************************************************
'*Si vous enlevez la ligne "response.write..." du commentaire, ça vous donnera*
'*le nombre de page qui dépend du nbre d'enregistrement par page (ici 18),    *
'*et le nbre d'enregistrement total qui dépend de votre requête.  	      *  
'*response.write rs.pagecount& " " &rs.recordcount& " 		              *
'******************************************************************************

'************************************
'*Limite à ne pas dépasser	    *
'*c'est le total des enregistrements*
'*de ma requête			    *
'************************************

LimiteFin = rs.recordcount

'******************************************************************
'*Si il n'y a pas d'enregistrement ma petite fonction Validation()*
'*ouvre une boite de dialogue Vbscript donc vous devez remplacer  *
'*cette ligne par ce que vous voulez.				  * 
'*Exemple: response.write "C'est vide"				  *
'******************************************************************

If rs.EOF and rs.BOF then

	response.write "<Script language='VBScript'>Validation()</SCRIPT>"
else
	
'**********************************************************
'*On commence la 1ère boucle qui permet de passer le total*
'*des enregistrements					  *
'**********************************************************

For i = 0 to LimiteFin

%>
 
<!--
Attention si vous laissez le titre dans la boucle ainsi que
les En-Têtes de colonne, vous aurez un tableau avec un titre
sur chaque feuille et les En-Tête de chaque colonne aussi
Mais moi je trouve que c'est plus claire d'avoir le titre et
le tableau complet qui se répète sur chacune des feuilles
--> 
  
 <H1>Tableau récapitulatif des Absences par Services pour le Mois de <%=Ucase(t)%></H1>
 
  
 <DIV>
 
<!--
Commencement du tableau 
Enlever toutes les ( class="table1", etc.. ) (c'est pour ma feuille de style CSS)
ou créer une feuille de style
Si vous ne savez pas ce qu'est une feuille de style, regardez sur le net 
--> 

    <TABLE class="table1"> 
    
    <!--En-Tête du tableau-->                
 		<TR>    
			<TH class="histo">Utilisateurs</TH>
			<TH class="histo">Services</TH>
			<TH class="histo">Date de Debut</TH>
 			<TH class="histo">Date de Fin</TH>
 			                
	               
		 </TR>   
  
 <%
'*****************************************************
'*2ème boucle imbriquée dans la 1ère qui va permettre*
'*de limiter le nbre d'enregistrement à (ici 18) par *
'*page						     *
'*****************************************************


	For x = 1 to rs.pagesize

'****************************************
'*Corp de mon tableau avec récupération *
'*des variables de ma requête, donc à   *
'*changer avec les votres.		*
'****************************************

   %> 
   
                  
   <TR class="histo">
     <TD class="histo"><%= Ucase(rs("Nom"))%>&nbsp;<%=Ucase(rs("Prenom"))%></TD>
     <TD class="histo"><%= Ucase(rs("Services"))%></TD>
     <TD class="histo"><%= rs("DateDeb") %></TD>
     <TD class="histo"><%= rs("DateFin") %></TD>
   </TR> 
   
<%

'*************************************
'*Je passe à l'enregistrement suivant*
'*************************************
rs.movenext

'*************************************
'*Si plus d'enregistrement on sort de*
'*la 2ème boucle		     *
'*************************************

If rs.eof Then Exit for

'*********************************
'*autrement on continue la boucle*
'*********************************

Next

'****************
'*Fin de Tableau*
'****************
%>       	
</TABLE></DIV>

<%

'*************************************
'*Si plus de page on sort de pages   *
'*on sort de la 1 ère boucle	     *
'*************************************

If rs.eof Then Exit for

'***********************************************************************
'*Si encore des pages on génère un saut de page, ici(<Br class='saut'>)*
'*c'est ma feuille de style CSS, Vous, vous remplacez par	       *
'*<Br style='page-break-after = always;'>, si pas feuille de style     *
'*Ca vous permet d'avoir un tableau par page			       *
'***********************************************************************
If not Rs.EOF then
response.write "<Br class='saut'>"
End If


Next


'**********************************************
'*Je ferme mon premier "If" vous vous souvenez*
'*apres le BODY.			      *
'**********************************************
End If


'****************************************
'*Et pour finir je cloture mon recordset                  *
'*et je le vide			               *
'****************************************
	
rs.close
Set rs = Nothing	
%>

  </BODY> 
 <!--#include file="../../BD/deconnexionbase.asp"-->  	 

 </HTML>

 Conclusion

J'ai bien détaillé le code, exprès pour les Newbies
Pour les personnes plus avancés, vous passez certains commentaires
trop détaillés.
J'espère que ça vous aidera, je n'ai pas trouvé de source parlant de la
mise en page pour l'impression, avec un tableau qui reprend des données
d'une table.

Dernière chose
J'ai limité à 18 enregistrements par tableau, par ce que pour mon cas
il n'en tenait pas plus.

Sachant aussi qu'il faut jouer avec les marges, je vous conseille de vous intéresser
Au CSS.
Si Questions, vous savez où me joindre.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • Macontribution.asp.bakTélécharger ce fichier [Réservé aux membres club]8 028 octets

Télécharger le zip


 Sources du même auteur

CALCUL DU NOMBRE DE JOURS OUVRÉS ENTRE DEUX DATES
Source avec Zip CALCULER LE NOMBRE DE JOURS FÉRIÉS ENTRE 2 DATES

 Sources de la même categorie

Source avec Zip Source avec une capture OBJETS IMBRIQUÉES EN TABLEAU (EN VBSCRIPT OU ASP) par internetdev
Source avec Zip GESTION DES SKIN par youdream
UTILISATION DE FTP.EXE DE WINDOWS EN ASP par Nicolas_kojack
FONCTION SIMPLE POUR ALTERNER LES COULEURS DES LIGNES D'UN T... par pakito_77
Source .NET (Dotnet) COMMENT PASSER UN PARAMÈTRE C# À FLASH ? par zigxag

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW UTILISANT LINQ ET REFLECTION par jmenfous
Source avec Zip Source avec une capture Source .NET (Dotnet) PAGINATION CONTRÔLE REPEATER ASP.NET AVEC UN DATASET par fabienfs
PAGINATION HORIZONTALE ASP(JSCRIPT)-ACCESS COMPLÈTE par semetic
Source avec Zip Source avec une capture Source .NET (Dotnet) CHANGER LE TEXTE DE LA NUMÉRATION DE PAGINATION DATAGRID par mwahid
Source avec Zip Source .NET (Dotnet) PAGINATION ASP.NET par jimmy69

Commentaires et avis

Commentaire de Jackboy le 21/02/2005 04:31:24

salut, sa ma l'air super, mais si une demo de ce genre les prochain coup peut etre faire en consideration d'ajouter les css, bd, etc. introduire tous sa dans le zip, ces bon pour les newbies surtout pour ce qui de l'impression via le web. Pour ce qui est de la source, tous me semble tres bien. Good Job

Commentaire de jessie le 21/02/2005 11:34:55

Merci Jackboy!

ça fait toujours plaisir!

En ce qui concerne la bd et le fichier CSS, sachant que ça fait partie de l' ensemble de mon logiciel pour mon entreprise je ne peux pas mettre mes sources  faudrait que je refasse un exemple à part, si j'ai le temps je le ferais!

A+!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Impression [ par manu ] Bonjour,Je dispose d'une page ASP que je dois imprimer sur du papier en tête (avec logo en haut et adresse en bas)Problème :1. la page ne s'imprime pa Pb Impression sous ASP.Net [ par Mask ] Salut tlm!!Je fais un site en C# et je ne sais pas comment imprimer via ASP.Net...Je voudrais imprimer juste une chaine de caractère lorsque l'interna Imprimer des documents depuis le serveur [ par psegalen ] Bonjour,L'impression de documents en .NET fait couler beaucoup d'encre virtuelle sur les forums mais malgr&#232;s plusieurs heures de recherche, je n' Imprimer une page aspx FORMATER [ par leroitony ] Bonjour tout le monde je vous contact concernant un petit soucis que j'ai sur un site en asp J&#146;ai une page bien dans laquelle j'ai une s&#233;ri impression avec crsytal reports [ par foufidou ] bonjour tout le monde,je developpe une site web en asp .net et j'utilise pour afficher quelques rapports crystal reports. Tout marche a merveille le r Programmation du bouton Imprimer tout [ par EurlyCias ] salutest ce possible programmer l'impression successive de tout les fichiers repartis dans les onglets?Pour ce qui ne comprendront pas, je m'explique: Imprimer un "form" avec un bouton [ par nico5969 ] Alors mon souci est que j'ai une page maitre qui contient une page x.aspx (admettons)dans cette page "x", j'ai un form (id=form1) et je voudrais lance impression multiple [ par gui2113 ] Bonjour, J'ai actuellement une page asp dans laquelle j'affiche un certain nombre d'éléments provenant d'une table accès. Ces informations ont préalan Bouton imprimer [ par estrella_brillosa ] Bonjour, j'aimerai ,s'il vous plait, savoir comment cacher le bouton imprimer en asp aprés avoir cliquer dessus.Pour qu'il ne s'imprime pas.Merci d'av Pagination DataGrid [ par exar ] Bonjour à tous !Je suis newbie en ASP.net.  J'essaie d'utiliser la pagination d'un DataGrid, mais cela ne fonctionne pas...Je suis allé voir la doc, q


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales