[ASP.NET] Hoe overzichten/facturen mooi afdrukken?

Pagina: 1
Acties:

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Voor een stage-opdracht maak ik met ASP.NET een administratief systeem met onder andere orders, klantinformatie, artikelinformatie. De back-end wordt gevormd door een MySQL database.

Ik ben aanbeland bij de functie 'afdrukken'. Er moeten facturen kunnen worden afgedrukt en overzichten van klanten en dergelijke. Ik ben me wat aan het inlezen en kom tot de conclusie dat het best lastig is om vanuit een webomgeving op een mooie manier af te drukken.

Ik lees over Crystal Reports maar over dit pakket heb ik in principe niet de beschikking. Daarnaast heb ik gehoord over mogelijkheden met betrekking tot exporteren naar .doc, .xls en .pdf. Of is het wel mogelijk om een mooie lay-out te maken die rechtstreeks te printen is uit de webbrowser?

Wat is de beste manier om dit aan te pakken voor mijn project?

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Vanuit de browser netjes formatten met stylesheets?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 11:28
gorgi_19 schreef op 03 januari 2004 @ 12:57:
Vanuit de browser netjes formatten met stylesheets?
Maar dan heb je altijd de ellende dat er van die irritante regels boven en onderaan staan. Dit is natuurlijk uit te zetten, maar dat zijn client instellingen.

Waarom bouw je niet gewoon een PDFje op?

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Waarom is het uberhaupt een webapp? No offence, maar interactieve gui's bouwen in een browser terwijl dat nergens voor nodig is, is erg lastig. In een windows app had je gewoon een crystal reports rapportje gemaakt, en crystal reports zit gewoon bij visual studio. Hoe maak je nu je asp.net code dan?

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

EfBe schreef op 03 januari 2004 @ 17:05:
Waarom is het uberhaupt een webapp? No offence, maar interactieve gui's bouwen in een browser terwijl dat nergens voor nodig is, is erg lastig. In een windows app had je gewoon een crystal reports rapportje gemaakt, en crystal reports zit gewoon bij visual studio. Hoe maak je nu je asp.net code dan?
Je kan ook crystal reports voor webapps gebruiken. Ook in dat geval kun je gewoon van CR binnen VS.NET gebruik maken.

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

PhoneTech schreef op 03 januari 2004 @ 16:07:
[...]


Maar dan heb je altijd de ellende dat er van die irritante regels boven en onderaan staan. Dit is natuurlijk uit te zetten, maar dat zijn client instellingen.

Waarom bouw je niet gewoon een PDFje op?
In dat geval: Kijk eens naar http://sourceforge.net/projects/npdf/ :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19 schreef op 03 januari 2004 @ 12:57:
Vanuit de browser netjes formatten met stylesheets?
Hier lees ik veel over op het net, krijg het alleen niet voor elkaar om het in mijn asp.net code te krijgen.

In principe moet er na een aantal rijen van een datagrid een page-break plaatsvinden. Na die page-break moeten er een aantal gegevens (naam, adres enz.) die op pagina 1 staan, weer op pagina 2 komen en vervolgens moeten de volgende regels uit de datagrid worden weergegeven (incl. header).

Iemand enig idee hoe ik dat in asp.net code voor elkaar krijg?

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

EmilneM schreef op 13 januari 2004 @ 12:37:
[...]


Hier lees ik veel over op het net, krijg het alleen niet voor elkaar om het in mijn asp.net code te krijgen.

In principe moet er na een aantal rijen van een datagrid een page-break plaatsvinden. Na die page-break moeten er een aantal gegevens (naam, adres enz.) die op pagina 1 staan, weer op pagina 2 komen en vervolgens moeten de volgende regels uit de datagrid worden weergegeven (incl. header).

Enig idee hoe ik dat in asp.net code voor elkaar krijg?
Dit is idd lastiger; je zult een soortement van loopje moeten maken waarin je datagrids dynamisch creeert. De lengte van de loop gebaseerd op het aantal records / records per datagagrid

Vervolgens misbruik je de paging functionaliteit van een datagrid om het juiste aantal records op een pagina te zetten. (datagrid1 laat records van pagina 1 zien, datagrid2 laat records van pagina 2 zijn, etc.)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19 schreef op 13 januari 2004 @ 12:40:
[...]

Dit is idd lastiger; je zult een soortement van loopje moeten maken waarin je datagrids dynamisch creeert. De lengte van de loop gebaseerd op het aantal records / records per datagagrid

Vervolgens misbruik je de paging functionaliteit van een datagrid om het juiste aantal records op een pagina te zetten. (datagrid1 laat records van pagina 1 zien, datagrid2 laat records van pagina 2 zijn, etc.)
Het laatste begrijp ik niet helemaal......hoe doe ik dit?

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

In een loopje dynamisch meerdere datagridcontrols aanmaken, ieder met een andere page-index, maar met dezelfde pagesize. Dit doe je tijdens het init-event.

Vervolgens bind je in je tijdens het load-event de data aan alle datagridcontrols.

[ Voor 3% gewijzigd door gorgi_19 op 13-01-2004 13:05 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19 schreef op 13 januari 2004 @ 13:05:
In een loopje dynamisch meerdere datagridcontrols aanmaken, ieder met een andere page-index, maar met dezelfde pagesize. Dit doe je tijdens het init-event.

Vervolgens bind je in je tijdens het load-event de data aan alle datagridcontrols.
Goed idee! heb het voor elkaar gekregen met paging! Zoek nu naar een manier om de positie van de controls op de (nieuwe) pagina te bepalen....

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

EmilneM schreef op 13 januari 2004 @ 13:54:
[...]


Goed idee! heb het voor elkaar gekregen met paging! Zoek nu naar een manier om de positie van de controls op de (nieuwe) pagina te bepalen....
vast wel met css voor elkaar te krijgen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 11:28
gorgi_19 schreef op 13 januari 2004 @ 13:56:
[...]

vast wel met css voor elkaar te krijgen.
is ook heel goed met css voor elkaar te krijgen:

http://www.w3.org/TR/CSS2/page.html

Maar de ellende is, is dat de meeste browsers dit NIET ondersteunen :(

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

PhoneTech schreef op 13 januari 2004 @ 15:19:
[...]


is ook heel goed met css voor elkaar te krijgen:

http://www.w3.org/TR/CSS2/page.html

Maar de ellende is, is dat de meeste browsers dit NIET ondersteunen :(
Ik had het eerder over de datagrids op de juiste plaats zetten; desnoods kan je ze nesten in een div. In ieder geval kan je met css een control absoluut positioneren; iets wat in meerdere browsers wel ondersteunt wordt. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
In elke nieuwe (print-)pagina maak ik nu een <div> aan waar ik alle componenten (labels en datagrid) 'absoluut' in positioneer met CSS.
Maar de ellende is, is dat de meeste browsers dit NIET ondersteunen.
Eis is dat IE6 het ondersteunt, alle andere versies en/of browsers die het ondersteunen zijn mooi meegenomen...

Het is alleen aardig wat typwerk om alle properties van de controls in te stellen @runtime...... :)

[ Voor 21% gewijzigd door EmilneM op 13-01-2004 16:27 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 mompelt iets over controls dynamisch aanmaken...

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19 schreef op 13 januari 2004 @ 16:27:
* gorgi_19 mompelt iets over controls dynamisch aanmaken...
Doe ik ook :)..... blijft veel typwerk....

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

EmilneM schreef op 13 januari 2004 @ 16:32:
[...]


Doe ik ook :)..... blijft veel typwerk....
Dan kan je toch basecontrols aanmaken, welke inheriten van bijvoorbeeld een datagrid?

[ Voor 7% gewijzigd door gorgi_19 op 13-01-2004 16:34 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19 schreef op 13 januari 2004 @ 16:34:
[...]

Dan kan je toch basecontrols aanmaken, welke inheriten van bijvoorbeeld een datagrid?
Kun je dat toelichten?

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Uit de losse pols.
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
Public Class Mydatagrid
    Inherits Datagrid

    Public Sub New
   
         Dim bc as boundcolumn=new boundcolumn()
         Me.columns.add(bc)

    End sub

End class

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 12:25

Arethusa

Niet die server

offtopic: ik blijf dit topic volgen. Ik zit namelijk met hetzelfde probleem in een soortegelijke applicatie.

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Sieweshaoao schreef op 13 januari 2004 @ 16:39:
offtopic: ik blijf dit topic volgen. Ik zit namelijk met hetzelfde probleem in een soortegelijke applicatie.
Waar zit je dan nog precies mee want in principe ben ik er in grote lijnen uit....

  • intGod
  • Registratie: Maart 2003
  • Niet online

intGod

Ars non postulat causam

dubbelpost :(

[ Voor 97% gewijzigd door intGod op 13-01-2004 16:48 ]


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 12:25

Arethusa

Niet die server

@EmilneM, zoals ik zei moet ik dus een soorgelijke applicatie maken. Ook met afdruk functionaliteiten. Echter ik ben er nog niet uit gekomen en heb het laten liggen. Nu ik dit topic vond bloeide er weer hoop dat ook dit zou kunnen lukken.

Ik wil de tips en aanwijzingen die gegeven zijn ook gebruiken en proberen of het op deze manier wel lukt. Mochten er nog problemen optreden dan meld ik het wel.

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Wat evt. ook een optie is, en dan zit je helemaal niet met problemen met browser, is om de data dmv een webservice aan te bieden aan een applicatie, gebaseerd op WinForms. Deze heeft als enige doel om de boel te printen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
gorgi_19 schreef op 13 januari 2004 @ 17:11:
Wat evt. ook een optie is, en dan zit je helemaal niet met problemen met browser, is om de data dmv een webservice aan te bieden aan een applicatie, gebaseerd op WinForms. Deze heeft als enige doel om de boel te printen.
Op deze manier heb ik ook een soortgelijk probleem opgelost voor mij afstudeer project. Daar lag het allemaal echter wel wat moeilijker omdat dat op een handheld was waar zelf via infrarood de printgegevens naar de printer gestuurd moesten worden.

Maar als je applicatie ontworpen wordt voor een bedrijfs applicatie ( Waar je dus controle over de systemen hebt ) kan je bijvoorbeeld gewoon een ActiveX component maken wat kan printen. Dan kan je in je web app gewoon een pagina laden die dat activex component laad en daarna gaat printen.

“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.”


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Maar als je applicatie ontworpen wordt voor een bedrijfs applicatie ( Waar je dus controle over de systemen hebt ) kan je bijvoorbeeld gewoon een ActiveX component maken wat kan printen. Dan kan je in je web app gewoon een pagina laden die dat activex component laad en daarna gaat printen.
Het nadeel van zulke ActiveX zaken is dat je meestal wel veel rechten nodig hebt om het te installeren en het disabled kan zijn. In principe kan je dus dat probleem nog steeds houden. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Arethusa
  • Registratie: December 2003
  • Laatst online: 12:25

Arethusa

Niet die server

Het project wat ik maak moet zowel binnen het bedrijf als doormiddel van een VPN verbinding of een soorgelijke manier te bereiken zijn. Het is dus lastig om bij al die werknemers te controleren of ze ActiveX aanhebben staan. Maar het is wel een goed idee. :)

[ Voor 3% gewijzigd door Arethusa op 17-07-2006 09:59 ]

I've been mad for fucking years, absolutely years, been over the edge for yonks.
Vinyl: Discogs


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
gorgi_19 schreef op 13 januari 2004 @ 19:20:
[...]

Het nadeel van zulke ActiveX zaken is dat je meestal wel veel rechten nodig hebt om het te installeren en het disabled kan zijn. In principe kan je dus dat probleem nog steeds houden. :)
Maar bij een bedrijfs applicatie kan je vrij makkelijk de vereiste stellen dat ze het ActiveX control moeten installeren en actief houden ( En als de gebruiker de rechten niet heeft dan moet de beheerder ervoor zorgen ). Zeker als je ook al vereist dat ze gebruik moeten maken van internet explorer 6.0.

Ten tweede kan je met javascript volgens mij gewoon controleren of het ActiveX control goed geladen is en als dat niet zo is kan je netjes een melding geven dat ActiveX uitgeschakeld is en dat dat aangezet moet worden om te kunnen printen.

[ Voor 17% gewijzigd door Woy op 14-01-2004 16:41 ]

“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.”

Pagina: 1