Wie erstellen Sie einen interaktiven Bericht mit Sortierumschaltung

FastReport .NET

Manchmal haben unsere Benutzer die Aufgabe, einen interaktiven Bericht zu erstellen, z.B. einen Bericht, in dem man nach dem Erstellen die Daten-Sortierfolge ändern kann. Wir werden heute die Erstellung eines solchen Berichts betrachten.

Nehmen wir an, wir haben bereits eine fertige Datei mit konfigurierter Sortierung. Nehmen wir zum Beispiel den Simple List Bericht (einfache Liste) aus der FastReport .NET-Demoanwendung.

FastReport .NET.

Die Sortierung ist bereits im Bericht konfiguriert:

FastReport .NET.

 

Zuerst werden die Bands nach Vorname und dann nach Nachname sortiert. Die Sortierung erfolgt aufsteigend, d.h. von A bis Я, bzw. от von A bis Z beim lateinischen Alphabet.

Fügen wir unserem Bericht die Interaktivität hinzu. Wählen wir ein Textobjekt aus, zum Beispiel einen Titel und fügen einen Click Ereignishandler hinzu. So wird nach einem Klick auf das Objekt in der Vorschau eine Funktion aufgerufen, die wir konfigurieren werden.

FastReport .NET.

Ändern wir auch die Eigenschaft "Cursor" in "Hand", um den Cursor in eine Hand zu verwandeln, wenn man mit dem Mauszeiger über das Objekt fährt. Dadurch wird deutlich, dass das betreffende Objekt angeklickt werden kann.

FastReport .NET.

Schauen wir an, wie die Sortierung in FastReport funktioniert, um den Funktionscode einzugeben.

Die Datensortierung wird als eine Sammlung von Werten gespeichert. Es gibt mehrere Möglichkeiten, wie die Sortierungen geändert werden können, aber sie alle laufen auf eine Modifikation dieser Kollektion hinaus.

Wenn wir uns die Sortierung im Code ansehen, sehen wir eine Liste von Methoden und Eigenschaften. Wir arbeiten mit den Eigenschaften Descending (“Absteigend”) und Expression (“Ausdruck”).

FastReport .NET.

Die Expression Eigenschaft entspricht dem Feld “Sortieren nach” im Designer, und die Descending Eigenschaft entspricht dem aufsteigenden/absteigenden Umschalter. Beachten Sie, dass im Designer nur drei Sortierungsregeln konfiguriert werden können und eine unbegrenzte Anzahl aus dem Code hinzugefügt werden kann. Demnach unterstützt der Designer maximal drei Regeln. Wenn wir die Eigenschaften eines Bands mit 4 gespeicherten Regeln öffnen, werden die ersten drei angezeigt und nach der Änderung nur diese gespeichert.

Die Reihenfolge der Sortierregeln beginnt mit der Regel mit dem Index 0, dann wird die Regel mit dem Index 1 und so weiter angewendet.

In unserem Fall hat die Sort Sammlung zwei Werte:

1) Expression = [Employees.FirstName], Descending = false
2) Expression = [Employees.LastName], Descending = false

Starten wir also mit dem Schreiben des Codes.

Wir fügen die sorting-Variable hinzu, die die Sortierfolge festlegt:

bool sorting = false;

Um die Sortierfolge zu ändern, ist die Descending-Eigenschaft zu ändern. Wir ersetzen es durch das Nullelement der Sort-Sammlung, und dann erfolgt die Invertierung der Sortierung und die Aktualisierung des Berichts:

 private void Text1_Click(object sender, EventArgs e)
 {
 Data1.Sort[0].Descending = sorting;
 sorting = !sorting;
 Report.Refresh();
 }

Wenn wir den Bericht starten und auf den Titel - “EMPLOYEES” klicken, sehen wir folgendes:

FastReport .NET.

Wie Sie sehen können, wurde die Sortierung invertiert und stehen jetzt die letzten Einträge an erster Stelle. Es ist erwähnenswert, dass die Sort-Sammlung nicht nur geändert werden kann, sondern auch Elemente hinzugefügt bzw. gelöscht werden können. Beispielsweise kann die Sortierung auf andere Weise erfolgen:

 private void Text1_Click(object sender, EventArgs e)
 {
 Data1.Clear();
 Data1.Sort.Add(new Sort("[Employees.FirstName]", false));
 Data1.Sort.Add(new Sort("[Employees.LastName]", sorting));
 sorting = !sorting;
 Report.Refresh();
 } 

In diesem Code leeren wir die Sammlung und fügen ihr zwei neue Sortierregeln hinzu, eine davon ist mit einer veränderlichen Eigenschaft.

Wir haben also uns angesehen, wie man die Sortierung vom Skript aus ändert. Neben dem Wechsel der Sortierung durch Klick können Sie die besprochenen Funktionen auch in Kombination mit anderen verwenden. Sie können z. B. die Sortierung des Bands ändern, indem Sie auf eine Schaltfläche im Dialogfeld klicken und eine interaktive Liste der Datenquellenfelder erstellen, oder Sie können die Sortierung abhängig von einem anderen Wert ändern.

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