Report e subreport

domenica 01 giugno 2008 - 13.24

squilibrio Profilo | Expert

ciao a tutti, partendo da due tabelle del tipo

Fattura
Fattura dettaglio


ho giò creato i due data set, passati al report, con le due tabella

ma come posso gestire la visualizzazione di report+subreport??


In questo modo carico di due dataset

LocalReport rptReport = ReportViewer1.LocalReport;
string nomeFile = "Reports\\Report.rdlc";
string filePath = Path.Combine(Request.PhysicalApplicationPath, nomeFile);
rptReport.ReportPath = filePath;
LocalReport rptReport = ReportViewer1.LocalReport;
string nomeFile = "Reports\\Report_StoricoAttivita.rdlc";
string filePath = Path.Combine(Request.PhysicalApplicationPath, nomeFile);
rptReport.ReportPath = filePath;

dataSetA = ....;
ReportDataSource reportDataSource = new ReportDataSource();
reportDataSource.Name = "Testata";
reportDataSource.Value = dataSetA.Tables[0];

dataSetB = ....;
ReportDataSource reportDataSource = new ReportDataSource();
reportDataSource.Name = "Dettaglio";
reportDataSource.Value = dataSetB.Tables[0];

ReportViewer1.LocalReport.Refresh();
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(reportDataSource);
ReportViewer1.DataBind();
}

ReportViewer1.LocalReport.Refresh();
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(reportDataSource);
ReportViewer1.DataBind();
}

freeteo Profilo | Guru

ciao,
per fare questo devi appunto usare un sottoreport, che vai a riempire intercettando l'evento "OnSubReportProcessing" e vai a fare il filtro che ti serve con i dati della seconda datatable:
void mioSubreportProcessingEventHandler(object sender, SubreportProcessingEventArgs e) { ... }

Purtroppo un'integrazione totale non è supportata, devi fare cmq 1po di codice.


Oppure puoi farlo caricando 2 liste "annidate" così hjai anche la treeview di navigazione e puoi gestire tutto su un unico report.
Per questo c'è un bell'esempio qui: http://www.gotreportviewer.com/ (a destra in basso trovi "master-details")
che mostra proprio questa visualizzazione master-details classica.

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5