Toon posts:

[asp.net] sub tijdelijk onderbreken (soort wait) voor print

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een stukje code geschreven om een pagina af te drukken.
Bovenaan deze pagina staat nog een tr waarin ik om een conditie vraag (daar hangt het aantal te printen pagina's van af), deze wil ik echter niet op papier hebben.

Nu heb ik het volgende bedacht, in de sub achter de printknop hang ik de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sub but_print_click( sender as object, e as Eventargs )
    dim timeNow as DateTime = now()
    dim timeTo as DateTime = timeNow.addSeconds( 5 )
    
    td_bevestiging.visible="false"
    
response.write( "<Script Language='JavaScript'>window.print()</"& _
                  "script>" )
    
    while timeNow < timeTo
        timeNow = now()
    end while
    
    td_bevestiging.visible="true"
end sub

Het idee is dat de td_bevestiging invisible wordt gezet, zodat hij niet geprint wordt.
Vervolgens wordt de pagina dmv javascript afgedrukt (kan dit ook anders?).
Daarna loopt er een while die de gebruiker 5 seconden de tijd geeft om op de printer te kiezen en af te drukken. Na 5 seconden komt de bevestiging td weer te voorschijn.

Het idee is leuk, maar de uitvoer lijkt nergens naar....
Hij voert de gehele sub in een keer uit en wacht netjes tot mijn while lus is doorlopen. Dus na 5 seconden flitst het scherm even en komt het print scherm.

Hoe onderbreek ik mijn sub voor een x aantal seconden om het scherm goed opgemaakt te maken voor het printen?

[ Voor 19% gewijzigd door Verwijderd op 16-05-2003 09:32 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ja dat is natuurlijk logisch. Je Sub loopt op de server en javascript op de client. Als je wilt dat hij bij de client 5 seconden wacht zul je dit ook met client side script op moeten lossen. Dat knoppen onzichtbaar zijn als je gaat printen kan je ook met een stylesheet oplossen.

[ Voor 55% gewijzigd door Woy op 16-05-2003 09:39 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22-08 13:14

TeeDee

CQB 241

Je hebt com componenten die een script laten wachten. Bijv. aspWait.
Misschien is er ook wel zoiets voor .NET?

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
heb het maar met een javascriptje gedaan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script language="JavaScript1.2">

    function removeTD(){
        var hide_all=document.all.td_tohide
        hide_all.style.display='none'
    }
    
    function revertback(){
        var hide_all=document.all.td_tohide
        hide_all.style.display='block'
    }
    
    window.onbeforeprint=removeTD
    window.onafterprint=revertback
</script>


jmmr dat het niet anders kon.
Thnx guys

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

TeeDee schreef op 16 mei 2003 @ 09:39:
Je hebt com componenten die een script laten wachten. Bijv. aspWait.
Misschien is er ook wel zoiets voor .NET?
Dan nog zou dit een clientside oplossing moeten genereren. Het probleem speelt zich af op de client; geen enkele serverside actie heeft hier invloed op.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22-08 13:14

TeeDee

CQB 241

gorgi_19 schreef op 16 May 2003 @ 11:39:
[...]

Dan nog zou dit een clientside oplossing moeten genereren. Het probleem speelt zich af op de client; geen enkele serverside actie heeft hier invloed op.
Crap, je hebt gelijk. Blijkbaar het verhaal niet helemaal goed begrepen.
Donderdag kroeg avond he :+

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1