Utilizați raportul de cristal în c #

În acest articol voi da un exemplu de creare și utilizare a rapoartelor Crystal Reports în Visual Studio.

Exemplul de mai sus este un proiect cu adevărat de lucru pentru pregătirea imprimării biletelor pe o imprimantă laser convențională.







Să începem cu faptul că avem nevoie de sursa de date, astfel creați mai întâi un proiect în care vom folosi raportul nostru și de a crea o sursă de date, care este încărcat fișierul XML pentru ușor și intuitiv pentru a crea un nou raport și setările sale.

1. Crearea unui standard de locuri de muncă C # în Visual Studio, forma și se adaugă 3 câmpuri: un prefix (la biletul nostru este codul de bare și numărul în codul de bare va fi utilizat de prefixul), numărul biletului inițial (care numărul pentru a începe imprimarea), numărul final (cum se termina ). De asemenea, adăugăm un buton, care, când se face clic, va umple sursa de date și va forma formularul.

Utilizați raportul de cristal în c #

Iată cum arată:
Utilizați raportul de cristal în c #

2. Acum, la apăsarea unui buton, vom descrie procedura de creare a unui fișier XML cu datele pentru raport.

(Codul creează un fișier XML cu numere și coduri de bilete schtrihovymi, coduri de bare încep și se termină cu „*“ -., Deoarece vom folosi un tip de cod de bare CODE39)

3. După salvarea fișierului nostru XML, continuați să creați raportul propriu-zis (formularul de raport).

Creați un nou proiect în Visual Studio - Raportare -> Application Crystal Reports.
Va apărea un proiect de raport în care adăugăm o sursă de date, în arborele din stânga:
Faceți clic cu butonul din stânga pe "Câmpurile bazei de date" apoi pe Expert baze de date -> Fișiere de bază de date (selectați fișierul XML creat de proiectul nostru), apoi selectați câmpurile, în acest caz tot.
Pentru a plasa câmpurile în raport, pur și simplu trageți-le pe foaie.
Iată ce am primit:

Utilizați raportul de cristal în c #

Pentru a face acest lucru, ca în figură, trebuie să modificați parametrii raportului în Raport-> Expert în secțiuni. (sunt stabiliți parametrii principali ai raportului, de care depinde ce fel va lua).







Când ați terminat, ne salvăm raportul și îl copiem din proiectul CrystalReport1.rpt primit în dosarul Debug al proiectului anterior.

4. Acum reveniți la proiectul nostru și scrieți restul codului pentru a apela raportul.

Mai întâi, adăugați încă un formular (în cazul nostru, FormRW) și plasați elementul CrystalReportViewer pe acesta - aici vom afișa raportul nostru.

Utilizați raportul de cristal în c #

Și adăugăm procedura de apăsare a butonului:


Pentru funcționarea tuturor componentelor utilizate în proiect, va trebui să conectați:


P.S.
Iată ce sa întâmplat ca rezultat (după unele îmbunătățiri):

Utilizați raportul de cristal în c #

Știu despre inserarea dinamică a imaginilor numai prin obiectul OLE.

Această metodă este simplă, dar se limitează la faptul că este imposibil ca un număr predefinit de înregistrări, ca în cazul meu cu bilete, să fie atribuit fiecărei imagini individuale (de exemplu o fotografie). Cu toate acestea, puteți încărca dinamic un set de imagini.

La naiba ... A scris, a fost confuz. De fapt, este ca și cum ați bilete în exemplul respectiv, puteți spune să schimbați animalele, dar pe toate biletele vor fi aceleași, deși vor diferi de parametrii de ieșire ai rapoartelor. Dar pentru a face acest lucru pe fiecare bilet, probabil că este posibil - dar este probabil dificil, nu am încercat.

Rămâne doar să extrageți fișierul din baza de date și să-l puneți în locul specificat.

P.S. Fișierul trebuie să fie .BMP.

Este necesar, de exemplu:
Test.bmp nume de fișier (luate din dosar MBD - cum), introduceți-l în raport, și apoi înlocui acest fișier la oricare alta, dar calea este schimbat în mod dinamic (în funcție de locul în care fișierul zapusknoe.).

Voi explica cum fac aceste rapoarte.
1. Creez din proiectul principal XML-ku cu un set de date pentru raport (care a fost cu ce să experimenteze.
2. Creez un proiect complet nou în studioul CrystalReport - fără a avea nimic de-a face cu cel de bază.
3. Eu adaug XML-ku ca date in el si folosesc campurile pentru postare pe formularul de raport.
4. Îl păstrez.
5. Eu iau departe de acest proiect RPT - fișier și utilizați-l în proiectul principal, de obicei, trebuie să se separe tati c otchotikami toate conectați direct la sursa de date - și funcționează.

Mulțumesc. A câștigat. Dar a fost o nouă nenorocire. Datele sunt dublate. De exemplu, dacă există două șiruri de caractere în XML (care este exact cât ar trebui să fie), atunci raportul devine exact de două ori mai mult, adică patru. La verificarea numărului de rânduri, numărul corect este returnat. Codul este:

Aici este de neînțeles de ce se face în general:


Și dacă acest lucru nu este posibil, înainte de încărcarea datelor din XML, ar fi bine să curățați setul de date:

Ie de fiecare dată când rulați crearea raportului, nu aveți nevoie de aceasta:
Și apoi, cum se face legarea la baza de date, dacă o specificăm ca o sursă XML în raport și apoi nu o folosim?
Și a doua întrebare: pe mașinile în care nu există un studio, programul nu începe. Ce componente ar trebui să fie instalate în plus față de .NET Framework 2.0?

Raportul este trimis către sursa de date MyDS - datele din ea există deja din baza de date. Și pe structură este identic xml - un fișier, noi după toate xml - un fișier de la el a făcut (a făcut doar că formularul de raport pentru a face în care structura datelor vor coincide).

Bibliotecile de căutare pot fi găsite în catalogul VisualStudio.







Articole similare

Trimiteți-le prietenilor: