logo
small logo
  • Produkte
  • Shop
  • Support
  • Articles
  • Customer panel Support
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Home
  • /
  • Articles
  • /
  • Registration der Datenquellen vor die Erstellung des neuen Berichts
  • Die FastReport Familie der Reportgeneratoren - kurze Overview

    23. März 2020

    Reporting – ein wichtiges Bereich, ohne es Aktivitäten im Alltagsleben richtig schwer vorzustellen. Bürokratie ist

    read more
  • Die Events PreviewControl.OnPrint und PreviewControl.OnExport

    1. Oktober 2020

    FastReport 2019.4 bietet eine Möglichkeit, die Events PreviewControl.OnPrint und PreviewControl.OnExport zu steuern, die direkt aufgerufen

    read more
  • Verbindung zu Elasticsearch

    10. November 2021

    FastReport .NET-, Core-, Mono-, OpenSource-Produkte können jetzt eine Verbindung zu Elasticsearch herstellen. Elasticsearch ist ein

    read more
  • Toilettenpapier drucken

    30. März 2020

    Meine Herren, Scherz beiseite! Heute sprechen wir über Toilettenpapier. Dieses unverzichtbare Hygieneprodukt wurde erst im

    read more
  • MS Word versus Open Document Text. Was ist besser?

    19. Oktober 2020

    Wenn wir von Texteditoren sprechen, stellen wir uns die Leuchte sofort als Microsoft Word vor,

    read more

Registration der Datenquellen vor die Erstellung des neuen Berichts

30. April 2016

Für die Übertragung der Datenquelle in den Bericht braucht man diese Datenquelle zuerst zu registrieren. Weiter soll man im Bericht eine verfügbare Datenquelle aus der Liste wählen und dann die Arbeit beginnen. Es wäre schön, wenn die Datenquelle beim Start des Designers sofort verfügbar wird. Und es wäre auch schöner, wenn diese Datenquelle im Berichtsdesigner schon gewählt wird. Man kann unverzüglich ohne Sorgen um die Daten die Berichtserstellung starten.

Das hilft viele Routine bei der Erstellung von mehreren Berichten vermeiden.

Es ist nicht so schwer, eine Datenquelle zu registrieren und sie automatisch beim Start vom Designer auszuwählen. Das Hauptproblem hier – eine registrierte Datenquelle bei der Erstellung vom neunen Bericht mit Hilfe vom Menü „File“ zu speichern.    

Die Lösung, die ich präsentiere, besteht im Abfangen des Erstellungsprozesses vom neuen Bericht bei der Verwendung vom „File“-Menü.

Also, betrachten wir jetzt ein Beispiel. Erstellen wir eine Anwendung mit Form und eine Taste.

Für die Arbeit brauchen wir Bibliotheken:

1
2
3
4
5
using FastReport;
using FastReport.Utils;
using FastReport.Data;
using FastReport.Design;
using FastReport.Wizards;

Erklären wir eine Datenquelle und erstellen sie:

1
2
3
4
5
6
private DataSet FDataSet;
private void CreateDataSource()
 {
 FDataSet = new DataSet(); 
 FDataSet.ReadXml(Environment.CurrentDirectory + "//nwind.xml");
 }

In diesem Fall wurde eine XML Datenbank von der FastReport .Net Lieferung verwendet.

Erstellen wir eine Methode der Registration einer Datenquelle:

1
2
3
4
5
6
7
8
9
10
 private void RegisterData(Report FReport)
 {
 FReport.RegisterData(FDataSet, "NorthWind");
 
 // activate all data sources by default
 foreach (DataSourceBase source in FReport.Dictionary.DataSources)
 {
 source.Enabled = true;
 }
 }

Hier interessiert uns der Zyklus, der einen Umgang für alle Datenquelle macht. Diese Datenquelle sind im Bericht registriert und der Zyklus aktiviert sie. Auf diese Weise werden diese Datenquelle im Datenfenster sofort verfügbar.

Rufen wir den Eventbearbeiter vom Start des Berichtsdesigners auf:

1
2
3
4
private void DesignerSettings_DesignerLoaded(object sender, EventArgs e)
 {
 (sender as Designer).cmdNew.CustomAction += new EventHandler(cmdNew_CustomAction);
 }

Fügen wir einen Benutzers Eventsbearbeiter für die Erstellung vom neuen Bericht durch das „File“-Menü hinzu.

Jetzt brauchen wir diesen Eventsbearbeiter zu erstellen. Er erstellt einen leeren Bericht mit der schon hinzugefügten Datenquelle: 

1
2
3
4
5
6
7
8
9
10
11
12
void cmdNew_CustomAction(object sender, EventArgs e)
 {
 Designer designer = sender as Designer;
 
 //StandardReportWizard wizard = new StandardReportWizard(); // you can use any wizard form package
 BlankReportWizard wizard = new BlankReportWizard();
 wizard.Run(designer);
 
 RegisterData(designer.Report);
 // refresh data tree view
 designer.SetModified(this, "EditData");
 }

Hier erstellen wir zur Wahl entweder ein Exemplar vom leeren Bericht, oder starten wir den „Designer der Erstellung vom standardisierten Bericht“. Weiter eröffnen wir einen neuen Bericht im Designer. Registrieren wir noch einmal die Datenquelle und erneuen wir die Liste im Datenbaum.

Jetzt schreiben wir einen Eventsbearbeiter für Tastenklick: 

1
2
3
4
5
6
7
8
9
10
 private void button1_Click(object sender, EventArgs e)
 {
 Report FReport = new Report();
 Config.DesignerSettings.DesignerLoaded += DesignerSettings_DesignerLoaded;
 CreateDataSource(); 
 
 // FReport.Load("myreport.frx"); // load report
 RegisterData(FReport); // register data before design
 FReport.Design();
 }

Erstellen wir einen Bericht. Setzen wir unseren selbst gemachten Eventsbearbeiter für Berichtsdownload statt standardisierten. Erstellen wir eine Datenquelle. Jetzt kann man den Bericht herunterladen, aber das man nicht braucht. Nach der Erstellung wird leerer Bericht gemacht. Unverzüglich registrieren wir die Daten vor dem Designers Aufruf.

Jetzt werden die Datentabellen beim Start des Designers im Fenster „Daten“ angezeigt. Auch wird die Datenquelle bei der Erstellung durch Menü „File“ hinzugefügt.

about product download buy
avatar
Dmitriy Fedyashov
Technical Writer
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Shop
  • Download
  • Dokumentation
  • Referenzen
  • Informationen zur Deinstallation unserer Produkte
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Unsere Nachrichten
  • Presse über uns
  • Partner
  • Kontakte

© 1998-2022 by Fast Reports Inc.

  • Datenschutz