2017-12-13 5 views
0

In meinem RDLC-Bericht erstelle ich Parametertest. In Form schreibe ich Code unten auf den Parameter:Set Parameter RDLC-Bericht C#

//Set Parameters 
ReportParameter[] p = new ReportParameter[1]; 
p[0] = new ReportParameter("Test", "Testing"); 
currentBilling_rv.LocalReport.SetParameters(p); 

// Provide datasource to report Current_Total_Billing.rdlc 
ReportDataSource rds = new ReportDataSource("CurrentTotalBilling", dataset.Tables[2]); 
currentTotalBilling_rv.LocalReport.DataSources.Clear(); 
currentTotalBilling_rv.LocalReport.DisplayName = "Current Total Billing"; 
currentTotalBilling_rv.LocalReport.ReportPath = ".\\Current_Total_Billing.rdlc"; 
currentTotalBilling_rv.LocalReport.DataSources.Add(rds); 
currentTotalBilling_rv.RefreshReport(); 

Wenn ich das Programm laufen I Ausnahme haben

Eine nicht behandelte Ausnahme des Typs 'Microsoft.Reporting.WinForms.MissingReportSourceException' aufgetreten in Microsoft .ReportViewer.WinForms.dll

Zusätzliche Informationen: die Quelle der Berichtsdefinition wurde nicht

angegeben

Bitte helfen.

+0

Funktioniert es, wenn Sie den parameterbezogenen Code entfernen? – InitK

+0

Ja, es funktioniert gut –

Antwort

0

In Ihrem Code stellen Sie einen Parameter für ReportViewer mit dem Namen currentBilling_rv nicht für currentTotalBilling_rv ein, der in den nächsten Codezeilen verwendet wird.

Wenn der Name currentBilling_rv korrekt ist, vergewissern Sie sich, dass currentBilling_rv.LocalReport.ReportPath kompiliert ist.

+0

Ja, Sie haben Recht. Ich korrigiere den Report Viewer-Namen. Aber immer noch denselben Fehler. Dann stelle ich "currentTotalBilling_rv.LocalReport.SetParameters (p);" Nach Bereitstellung der Datenquelle. dann habe ich einen Fehler im Bearbeitungsmodus. –