RdlcRptGenLite – Automatisk RDLC-rapport i C# direkte fra DataTable
Du laster ned en ZIP-fil med både kildekode (
RdlcRptGenLite.cs), demoform og dansk veiledning. Klassen er fri å bruke og distribuere under MIT-lisens.
RdlcRptGenLite er en videreutviklet og forenklet versjon av det populære (men nå forsvunne) RdlcRptGen-prosjektet. Klassen er skrevet i C# og gjør det mulig å generere en fullt fungerende RDLC-rapport direkte fra en DataTable – uten bruk av Visual Studios rapportdesigner. Du kan vise rapporten i en ReportViewer med bare én linje kode.
Ved å bruke RdlcRptGenLite slipper du å konfigurere rapportdesignet på forhånd – klassen genererer RDLC-XML-rapportdefinisjonen automatisk basert på strukturen i din DataTable, og viser rapporten direkte.
Funksjoner og bruk
- Generer RDLC-rapporter dynamisk: Basert på kolonner og rader i en
DataTable. - Brukervennlig integrasjon: Kan brukes med bare én linje kode: csharpKopierRediger
new RdlcRptGenLite(myDataTable).DisplayReport(); - Visning via ReportViewer: Støtter standard
ReportViewer-kontrollen i Windows Forms. - Konfigurerbare elementer: I tillegg til standardvisning kan du sette ekstra egenskaper som for eksempel rapporttittel, skrifttype, tabellfarger og sideoppsett.
Eksempel på bruk
csharpKopierRedigerRdlcRptGenLitereport = newRdlcRptGenLite(myDataTable);
report.ReportTitle = "Salgstall for Q2";
report.FontName = "Segoe UI";
report.DisplayReport(); // Viser rapporten i en standard ReportViewer-form
Fordeler for utviklere
RdlcRptGenLite er ideell for utviklere som jobber med forretningsdata, backend-rapporter, statistikk eller administrative systemer, der dynamiske rapporter skal genereres raskt og enkelt – uten tung integrasjon eller ekstern rapportdesigner.
Du laster ned en ZIP-fil med både kildekode (
RdlcRptGenLite.cs), demoform og dansk veiledning. Klassen er fri å bruke og distribuere under MIT-lisens.
Topp 5 tips til RdlcRptGenLite
Start med en enkel DataTable
RdlcRptGenLite fungerer best med en enkel og flat struktur. Unngå komplekse typer som nestede objekter, DataRelation-avhengigheter eller spesialiserte klasser. Bruk i stedet vanlige kolonner med string, int, decimal, DateTime osv. Det sikrer feilfri generering av den interne RDLC-XML-en og en pen tabellvisning.
Tips: Du kan eventuelt tilpasse kolonnenavn i din
DataTable.Columns[i].ColumnNamefor å få bedre overskrifter i rapporten.
Tilpass rapportdesignet
RdlcRptGenLite støtter flere nyttige egenskaper som lar deg tilpasse rapportens utseende uten å redigere en RDLC-fil manuelt:
ReportTitle: Legger til en overskrift øverst i rapporten.FontName: Bytt til f.eks. Segoe UI, Verdana eller din foretrukne skrifttype.TableHeaderBackColor: Endre bakgrunnsfarge på kolonneoverskrifter.PageOrientation: Velg mellom stående eller liggende oppsett.
Tips: Kombiner flere egenskaper for å matche ditt firmas visuelle identitet.
Bruk med ReportViewer i Windows Forms
For å vise rapporten korrekt må Microsoft.ReportViewer.WinForms være installert via NuGet eller som referanse. RdlcRptGenLite åpner en ny form med ReportViewer og viser rapporten automatisk – det krever ikke ytterligere GUI-kode.
Tips: Hvis du bruker .NET Framework 4.7 eller nyere, må du sørge for at riktig versjon av ReportViewer er kompatibel.
Lagre rapport som XML
Vil du lagre den dynamisk genererte rapporten som en RDLC-fil for senere bruk eller redigering? Bruk:
csharpKopierRedigerstring rdlcXml = report.GetRdlcXml();File.WriteAllText("MinRapport.rdlc", rdlcXml);Dette er en effektiv måte å konvertere runtime-rapporter til vedvarende designfiler.
Tips: Du kan åpne den lagrede .rdlc-filen i Visual Studio og finjustere layoutet grafisk ved behov.
Kombiner med DataSets for avansert funksjonalitet
Selv om RdlcRptGenLite bruker DataTable som primær input, kan du fint hente tabeller fra et DataSet og sende dem videre:
csharpKopierRedigernewRdlcRptGenLite(myDataSet.Tables["OrdreData"]).DisplayReport();
Dette gjør det mulig å jobbe med flere datakilder og fortsatt bruke det enkle grensesnittet.
Tips: Du kan lage en wrapper-metode som automatisk velger relevante tabeller basert på brukerinput eller forretningslogikk.



