Wie kann man einen Parameter in den Bericht mit Hilfe von URL übergeben

Bei der Arbeit im Internet braucht man immer, irgendwelche Parameter überzugeben. Das können entweder Filtration-Daten oder Kunden-Daten sein. Beim Aufruf der Form mit dem Bericht ist es bequem die Parameter mit Hilfe von URL überzugeben.

Wir betrachten ein einfaches Beispiel. In der Schablone gibt es zwei Parameter: Param1 и Param2 mit dem Typ „String“:

 

Man soll für diese Parameter die Werte mit dem URL übergeben.

Wir erstellen eine ASP.Net WebForms Anwendung. Wir platzieren auf irgendwelcher Seite eine WebReport-Komponente. Weiter fügen wir schon erstellte Berichts-Schablone ins Projekt hinzu und klicken mit rechter Maus-Taste auf den Ordner App_Data und wählen Add->Existing Item… . Danach suchen wir nach der Datei am lokalen Speicher und redigieren den C# Code der Seite. Zuerst erklären Bibliotheken:

1
2
using FastReport.Web;
using FastReport;

Ich verwende den Event „Load“, weil bei diesem Event der Bericht schon nicht auf dem Bildschirm ist: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
namespace URLParams
{
 public partial class About : Page
 {
 protected void Page_Load(object sender, EventArgs e)
 {
//Get parameters from URL
 string param1 = Request.QueryString["param1"];
 string param2 = Request.QueryString["param2"];
//Load report fil into WebReport object 
 
 WebReport1.ReportFile = "App_Data/URLParams.frx";
//Set value to report parameters
 WebReport1.Report.SetParameterValue("Param1", param1);
 WebReport1.Report.SetParameterValue("Param2", param2);
 }
 }
}

Merken Sie sich, dass der Name des Parameters gleich den Namen des Parameters in der Schablone ist:

1
WebReport1.Report.SetParameterValue("Param1", param1);

URL-String sieht so aus:

http://localhost:51838/About?param1=Hello%20World!&param2=Good%20job!

Die Funktion Request.QueryString(); sucht nach dem Parameter mit dem bestimmten Namen und bestimmt den Wert des Parameters als Funktion-Ergebnis.

Zweite Variante, ohne Speichern der Schablone des Berichts im Projekt:

1
2
3
4
5
6
7
8
9
10
 protected void Page_Load(object sender, EventArgs e)
 {
 string param1 = Request.QueryString["param1"];
 string param2 = Request.QueryString["param2"];
 Report report = new Report();
 report.Load("J:/Program Files (x86)/FastReports/FastReport.Net/Demos/Reports/URLParams.frx");
 report.SetParameterValue("Param1", param1);
 report.SetParameterValue("Param2", param2);
 WebReport1.Report = report;
}

Hier erstellen wir das Objekt „Report“, laden die Schablone dorthin und bestimmen die Parameter. Weiter verbinden wir Objekte „Report“ und „Web Report“ miteinander und prüfen, dass die Eigenschaft ReportResourceString von WebReport leer ist.

Bei der Verwendung von zwei diesen Methoden bekommt man gleiche Ergebnisse:

 

Auf diese Weise ist es reich, nur ein Paar Codezeilen lassen uns die Parameter verwenden, die mit Hilfe von URL übergeben werden können.

Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314

© 1998-2024 Fast Reports Inc.
Trustpilot