Imprimer un "form" avec un bouton [Résolu]

Signaler
Messages postés
32
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
14 avril 2009
-
Messages postés
32
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
14 avril 2009
-
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 lancer une impression à partir d'un bouton

j'ai créé un bouton nommé "impression", à la suite du form

j'y ai affecté le code suivant dans mon code-behind, mais ca ne marche pas....y veut rien imprimer:

Protected

Sub impression_Click(
ByVal form1
As
Object,
ByVal e
As System.EventArgs)
Handles impression.ClickPrint(form1)

End
Sub

J'avais déja un truc similaire via un code javascript mais qui m'imprimait TOUTE la page...moi je ne veux que le FORM1...
merci de m'éclairer de vos lumières

Nico.G
Impossible is Nothing !
A voir également:

6 réponses

Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
1
Bonjour,

Un exemple simple, ici avec une class css, à mettre dans le head de ta page :

<style type="text/css" media="screen">
    .couleur{
    background-color:#119988;
    }
    </style>
    <style type="text/css" media="print">
    .Noprint{
    display:none;
    }
    </style>

Ensuite, tu précises class="Noprint" (pour les éléments html comme les div, etc.) ou cssclass="Noprint" pour les élements asp.
Par exemple ci-dessous, j'attribue la class "couleur" à une div qui est en dehors du form ainsi que la class "noprint" : à l'écran, tu auras donc un fond coloré sur la div, mais cette div ne sera pas imprimée.
Dans le form, je mets cssclass="Noprint" sur un asp button, pour qu'il ne soit pas imprimé :

Titre

    <form id="form1" runat="server">
   

       
       
   

    </form>

Ne sera, dans ce cas, imprimé que le textbox.

GGtry
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
1
Bonsoir,

Ce que tu cherches à faire ne peut être fait ainsi. L'impression d'une page web doit être commandée à partir du navigateur, pas à partir du serveur : donc, tu dois repartir de ton javascript.
Si tu veux seulement imprimer certains éléments de ta page, tu peux passer par une feuille de style css pour laquelle sera spécifié media="print". Dans cette feuille il suffira de mettre display:none pour les éléments à ne pas imprimer.

GGtry
Messages postés
32
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
14 avril 2009

merci GGtry

alors j'arrive bien à affecter la propriétés "display:none;"
mais quand je le fais, l'élément ne s'affiche plus du tout sur ma page...et apparemment l'élément "media" n'existe pas dans les styles.....donc je n'arrive pas à affecter ce "non affichage" uniquement pour l'impression....

une idée ?  :p ;)

Nico.G
Impossible is Nothing !
Messages postés
32
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
14 avril 2009

OK, nickel ca fonctionne... ;)
merci GGtry

petit bonus ... est il possible de définir un style ou une variable (peut etre dans java) pour que la page s'imprime en format "1 page en largeur sur 1 page en hauteur".... ????

Nico.G
Impossible is Nothing !
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
1
Salut,

En toute rigueur, cela n'est pas possible puisque tu ne peux pas déterminer le format de sortie papier de l'imprimante (c'est très souvent du A4, mais pas forcément, marges, etc.)
Tu peux essayer de jouer avec le css, en supposant que ta longueur de page ne varie pas dans de grandes porportions, par exemple en rapetissant le corps de caractères pour l'impression et le hauteur des lignes de tableau, etc. 

GGtry
Messages postés
32
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
14 avril 2009

c'est pas faux.....vu sous cet angle   :p

merci beaucoup en tout cas une fois de plus
et a bientot peut etre ;)

Nico.G
Impossible is Nothing !