Sunteți pe pagina 1din 21

 Componente necesare proiectării/dezvoltării rapoartelor în VS:

1. Report Designer (per Visual Studio)


- extensie grafică a mediului Visual Studio destinată proiectării/conceperii rapoartelor
- necesită o singură instalare/calculator

2. Report Viewer (per aplicație)


- control destinat vizualizării rapoartelor în cadrul formularelor
- impune instalare în cadrul fiecărei aplicații

conf.dr. Adrian Cozgarea


1. Meniu Visual Studio: (vers.2019) - Extensions-> Manage Extensions / (vers.2017) - Tools-> Extensions and Updates
2. Selectează Online -> Visual Studio Marketplace
3. În rubrica Search, se introduce „RDLC Designer”
4. Se descarcă pachetul Microsoft RDLC Report Designer (instalarea va porni automat la închiderea Visual Studio)
1

3
2 4

5. Se închide Visual Studio


6. VSIX Installer pornește automat->se confirmă modificarea ce urmează a fi efectuată asupra mediului Visual Studio
7. După instalarea extensiei, se repornește Visual Studio, în care, la Project-> Add New Item, sunt disponibile opțiunile
Report și Report Wizard
conf.dr. Adrian Cozgarea
7

conf.dr. Adrian Cozgarea


1. Meniu Visual Studio: Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution
2. În fereastra NuGetSolution, selectează Browse
3. În rubrica Search, se introduce „reportviewercontrol”
4. Se selectează pachetul Microsoft.ReportingServices.ReportViewerControl.WinForms
5. Se selectează aplicația curentă
6. Se instalează pachetul
7. Se închide fereastra NuGet Solution
1

2
3

4 5

6
conf.dr. Adrian Cozgarea
După instalarea pachetului Microsoft.ReportingServices.ReportViewerControl.WinForms,
controlul ReportViewer este disponibil în fereastra Toolbox, într-o categorie nouă, numită
Microsoft SQL Server

conf.dr. Adrian Cozgarea


 În vers. <2019, controlul ReportViewer nu este adăgat automat în Toolbox. Etapele adăugării explicite sunt urm.:
1. Se salvează proiectul curent(File->Save All) și se reține folder-ul soluției*
2. În fereastra Toolbox, click-dreapta pe grupul/tag-ul General, iar apoi se selectează Choose Items...
3. În fereastra Choose Toolbox Items , tag-ul .NET Framework Components, se acționează butonul Browse
4. Se deschide folderSoluție* \package\Microsoft.ReportingServices.ReportViewerControl.Winforms[vers.]\lib\net40
5. Se selectează fișierul Microsoft.ReportViewer.WinForms.dll și se acționează Open
6. În fereastra Choose Toolbox Items, se acționează OK
7. Controlul ReportViewer devine vizibil în Toolbox.
* folder-ul soluției este vizibil în fereastra Properties->Path, după ce, în prealabil, se selectează soluția curentă în Solution Explorer.

conf.dr. Adrian Cozgarea


 Controlul ReportViewer trebuie instalat în cadrul fiecărei aplicații care-l utilizează.

 Odată adăugat în fereastra Toolbox, ReportViewer este vizibil în toate aplicațiile, DAR este functional NUMAI în
aplicația în care a fost adăugat => orice încercare de utilizare a sa în altă aplicație decât cea în care a fost instalat
se va solda cu o eroare (chiar și în Designer) !

 Pentru a fi utilizat și în altă aplicație, controlul trebuie șters din Toolbox (click-dreapta->Delete), după care se
parcurg toate etapele necesare instalării și adăugării sale în Toolbox (toate operațiile fiind făcute din cadrul
aplicației respective).

conf.dr. Adrian Cozgarea


I. Stabilirea/crearea sursei de date a raportului – un obiect DataTable din setul de date

II. Crearea raportului, ca o componentă Report a aplicației

III. Includerea raportului într-un control ReportViewer atașat unui fomular.

conf.dr. Adrian Cozgarea


Sursa de date a unui raport poate fi numai un DataTable.
Pentru rapoarte complexe (cu două sau mai multe tabele sursă), se recurge la crearea unui DataTable (în DataSet
Designer), construit pe baza:

a) unui obiect din baza de date (vedere /proc. stocată etc.)


b) unei cereri/fraze SQL aplicată asupra tabelelor din baza de date

conf.dr. Adrian Cozgarea


Crearea unui DataTable (+TableAdapter), în DataSet Designer:
1. Se deschide setul de date (dublu-click în fereastra Solution Explorer) sau se creează unul nou.
2. Se adaugă, din Toolbox, un obiect TableAdapter

conf.dr. Adrian Cozgarea


3. Se selectează conexiunea aferentă setului de date (sau se creează una nouă)

conf.dr. Adrian Cozgarea


4. Se selectează tipul comenzii care returnează datele necesare raportului (cerere SQL/ procedură stocată)

conf.dr. Adrian Cozgarea


5. Se definește fraza SQL pentru extragerea datelor (fie direct, fie prin QueryBuilder)

 Fraza SQL va forma comanda


Select a adaptorului și poate
conține coloane calculate,
agregari, ordonări etc., după
sintaxa serverului bazei de date
(SQL Server, Access etc.)

conf.dr. Adrian Cozgarea


6. (opțional) Se redenumeste noul obiect DataTable/TableAdapter

conf.dr. Adrian Cozgarea


Etape:

1. Se adaugă, în aplicație, o componentă Report (Project->Add New Item->Report/Report Wizard)

conf.dr. Adrian Cozgarea


2. Se selectează sursa de date a raportului (1.DataSet + 2.DataTable)

conf.dr. Adrian Cozgarea


3. Se aleg câmpurile de grupare (Group) și cele de detaliu(Values):
✓ câmpurile de grupare a datelor sunt adăugate în colecțiile Row/Column Groups
✓ coloanele de detaliu sunt adăugate în colecția Values

 Pentru acele câmpuri din


Values care nu vor fi agregate,
se va deselecta funcția de
agregare din meniul
contextual (click-dreapta pe
denumirea câmpului).

conf.dr. Adrian Cozgarea


4. Se alege stilul raportului (subtotaluri & total general)

conf.dr. Adrian Cozgarea


5. Se modifică raportul generat automat :
✓ se adaugă titlul
✓ se redimensionează coloanele și rândurile
✓ se formatează câmpurile (Properties sau dublu-click pe celula aferentă->Placeholder Properties)
✓ se șterg rubricile de subtotal/total general fără semnificație, etc.

conf.dr. Adrian Cozgarea


Afișarea unui raport este posibilă numai prin intermediul controlului ReportViewer inclus într-un formular. După
adăugarea unui ReportViewer în formular, trebuie setat raportul ce va fi afișat de control, prin smart-tag-ul controlului
ReportViewer.

 Pentru controlul
ReportViewer se
recomandă setarea
proprietății Dock cu
valoarea Fill!

conf.dr. Adrian Cozgarea


conf.dr. Adrian Cozgarea

S-ar putea să vă placă și