Bei der Berichtserstellung in der Verbindung mit der Client -Anwendung sieht es logischer, eine Datenquelle im Programm zu erstellen und sie in mehreren Berichten zu benutzen, als eine Verbindung mit einem Datenlager innen jedes Berichts zu erstellen.
Im Artikel geht es um die Verbindung des Fast Report .Net Berichts zur Datenquelle einer Anwendung.
Am besten wird das Prozess durch ein Beispiel zu präsentieren. Erstellen wir jetzt Windows Forms. fügen wir eine Datenquelle ins Programm hinzu. In diesem Fall wird ein xml Datenlager.
Jetzt fügen wir DataSet vom Instruments Panel hinzu. Wählen wir einen typischen Datensatz.
Was noch zu tun bleibt, den Bericht zu erstellen und in ihm die Datenquelle zu registrieren.
Fügen wir eine Taste auf das Form und ein Objekt Report vom Instruments Panel hinzu.
Mit dem Doppelklick auf der Komponente report1 eröffnen wir den Berichts Designer. Aber
vorher wählen wir die Datenquelle der Anwendung.
Im Designer erstellen wir einen einfachen Bericht mit der Liste.
Die Liste der verfügbaren Datenquellen kann man beim Verknüpfungsdruck (rot gefärbt) sehen.
Erscheint das Fenster
Speichern wir den Bericht und kehren wir zur Anwendung zurück. Hinzufügen wir einen Bearbeiter eines Tastendruckevents.
1 2 3 4 5 6 |
private void button1_Click(object sender, EventArgs e) { report1.Load(Environment.CurrentDirectory + "/Report.frx"); report1.RegisterData(demoDataSet1); report1.Show(); } |
Vergessen wir nicht, die Bibliothek im using hinzuzufügen.
Hier laden wir den Bericht von der Datei herunter. Dann registrieren wir die Datenquelle im Bericht. Weiter starten wir den Bericht im Vorschaufenster.
Die Funktion RegisterData lässt folgende Objekten registrieren: DataSet, DataTable, DataView, DataRelation, IEnumerable. Das letzte Objekt ist eine Liste von Objekten (mit allen hineinlegenden Objekten) oder zum Beispiel den Ergebniss von LINQ Aufruf. Es ist wichtig, die Daten im Bericht nach dem Berichtsherunterladen oder vor dem Vorschaustart und Export zu registrieren.
Bei der Berichtserstellung in der Anwendung brauchen wir keine Verbindung mit dem Datenlager in jedem Bericht. Und nur in einer Verbindung braucht man in diesem Fall die Einstellungsveränderung.