Report viewer, report locali e grafici

Published 06 ottobre 08 10.56 | abenedetti

Il controllo Report Viewer, utilizzato in modalità locale, consente anche (certamente) l'utilizzo di oggetti grafici.

Quelli di default (in attesa che esca il nuovo controllo con i nuovi oggetti che abbiamo nei reporting di SQL 2008) non possono essere modificati - come invece possiamo fare sul server di RS.

Ovvero non posso utilizzare direttamente assemblies di terze parti per costruire char, barcode, mappe, gauge...

Possiamo bypassare questa limitazione? Si, ad esempio costruendo il grafico con altri strumenti (penso ai controlli .Net di Dundas, per esempio), memorizzandolo su disco come immagine e passandolo, grazie ad un parametro, ad un oggetto image sul report.

Il mio report avrà quindi un parametro in ingresso (pathImg1) ed un controllo image con queste proprietà:

  • source "external"
  • value "=Parameters!pathImg1.Value"

Il codice che andrò a scrivere sulla mia applicazione per eseguire il report sul controllo report viewer:

string reportPath = @"C:\myFolder\graphicSummaryFiles.rdlc"; reportViewer.LocalReport.DataSources.Clear(); reportViewer.Reset(); reportViewer.Visible = true; reportViewer.ProcessingMode = ProcessingMode.Local; reportViewer.LocalReport.ReportPath = reportPath; reportViewer.LocalReport.EnableExternalImages = true; //set parameter var _p1 = new string[] { @"file:c:\myFolder\myImage.jpg" }; var p1 = new ReportParameter("pathImg1", _p1); reportViewer.LocalReport.SetParameters(new[] { p1 }); reportViewer.LocalReport.Refresh(); reportViewer.RefreshReport();

Comments

No Comments

This Blog

Syndication