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

2017-08-23

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.

20. November 2024

Lokalisierung und Ändern von Sprachen in FastReport VCL

FastReport VCL unterstützt 40 Sprachen für die Schnittstellenlokalisierung und ermöglicht es Ihnen, die Sprache im laufenden Betrieb über Menüs oder Code ohne Neukompilierung zu ändern.
1. November 2024

Neue Funktionen des FastReport VCL Berichtseditors

Wir betrachten die neuen Funktionen des Berichtseditors: Hilfslinien, Hervorhebung von sich schneidenden Objekten, aktualisierte Berichts- und Datenbäume.
30. Oktober 2024

Verwendung von Stilen beim Erstellen von Berichten in FastReport VCL

Dieser Artikel beschreibt eine der neuen Funktionen von FastReport VCL - die Verwendung von Stilen und Stilseiten.
Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2024 Fast Reports Inc.