12. juli 2006 - 17:23Der er
23 kommentarer og 1 løsning
oprette faktura (tekst)
Hej
Jeg er igang med at oprette et faktureringssystem til en veninde. Jeg arbejder med VS 2005 og windows forms.
Nu er jeg kommet så langt, at jeg vil have udskrevet en faktura.
Altså det jeg ønsker, er at jeg kan udskrive en fast tekst, hvor der så er nogle felter, der skal hentes fra databasen, når hun trykker på en "Udskriv faktura" knap, mens hun står på den pågældende kunde.
Hvordan gør jeg ovennævnte og hvor kan jeg læse noget tutorials om det?
Det jeg mangler hjælp til, er hvordan opbygger jeg sådan en side (der så skal printes).
Altså jeg skal have lavet en "standard" side, der alt efter hvilken kunde hun står på, skal udskrive noget fast tekst - men ellers hente forskellige felter fra databasen?
buzzzz Og ja jeg har søgt på google - men igen det er kun selve print delen, og jeg skal bruge det der kommer lige inden - hvad skal jeg bruge til at opbygge en side med, hvor der både er standard tekst og felter fra databasen?
Jamen, det skal opbygges gennem de Print klasser som findes.... at du så vil have noget statisk skal du jo kode ind i det.... Så vidt jeg har forstået det er der ikke nogen nem måde at printe på i .NET 2.0....... du skal opbygge dit print som du ville opbygge et almindeligt billede lavet med Graphics klassen i .NET
Så jeg er ikke helt klar over hvad du leder efter hvis det ikke er det jeg snakker om.... Hvad er det som kommer lige inden printdelen? Det må vel være hele programmet så?
Men tekst inden... det er vel bare firma, adresse etc. som er statisk. og så skal der vel udskrives de ting som de ikke allerede har fået en faktura på.... er det sådan noget her du tænker på?
Det er netop firma, adresse osv og ja de ting, der ikke allerede har fået en faktura på skal så skrives ud. Hun opbygger en faktura, ved at skrive nogle ordrelinier ind, med et fakturanr. på hver enkelt, som så skal udskrives ud i forhold til det fakturanr. hun har valgt.
Der er 3 tabeller i databasen:
Kunder (som har KundeID) Faktura (som har KundeID og FakturaID) Ordrer (som har OrdreID og FakturaID)
Nu vil jeg så udskrive faktura nr. 5 med tilhørende ordrelinier (OrdreID) til kunden med KundeID nr. 9.
Det jeg synes at de links du gav, var kun med ren tekst - altså jeg ikke kan se, hvordan man henter noget ind, som både har standard (ren) tekst og så databasefelter?
Du er en knag og imens leder jeg videre på Google - selvom jeg nu ikke synes jeg kan finde noget endnu........og jeg har altså ledt i flere timer nu :-)
Ellers så skal du som buzz siger lave det hele ved hjælp af gdi+, og det kan godt være lidt besværligt. Det er klart nemmest at bruge ms excel object library, til at lave sådan et system
Det du gør er at hente de data du skal bruge, ud af din database. Der efter er det bare at oprette et nyt excel dokument. For at gøre det skal du tilføje en reference til din c# app, den hedder et eller andet med excel object library v. 10 eller 11.
Mener det er sådan man opretter et nyt excel dokument
Excel.Application ExcelApp = new Excel.ApplicationClass(); if (ExcelApp == null) { MessageBox.Show("Excel kunne ikke startes\nTjek din office installation", "Fejl ved opstart af Excel", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } ExcelApp.Visible = true; Excel.Workbook Workbook = ExcelApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
Excel.Worksheet ws = new Excel.WorksheetClass(); ws = (Excel.Worksheet)Workbook.ActiveSheet;
Her kan du se hvordan det ca. virker... du skal tilføje PrintDocument, PrintviewDialog fra toolboxen til din form.... og så bruge de event som du kan se...
Burde give en ide om hvordan det kan bruges....
Godt nok ikke med data fra en DB, men det burde nemt kun skrives ind.....
Når jeg forsøger ovennævnte, så får jeg i preview delen at vide, at der ikke er noget document og på selve printknappen, får jeg godt nok en dialog op, men den prin ter intet?
Jeg har dragget PrintDocument, PrintPreview og PrintDialog ind på formen
Skal jeg bruge nogle using statements?
Koden ser ud som følgende:
namespace Print { public partial class Form1 : Form { int tal = 1;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.