logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • Articles
  • Customer panel Wsparcie techniczne
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • Jak utworzyć interaktywny raport z opcją sortowania za pomocą przełączników?
  • Jak wykonać sortowanie od końca do końca podobnych macierzy na kilku stronach w FastReport .NET

    22 września 2021

    Załóżmy, że mamy zadanie: posortować macierz na pierwszej stronie w odpowiedniej kolejności. Możesz również potrzebować

    read more
  • Nadruk na papierze toaletowym

    30 marca 2020

    Panowie, żarty na bok! Dziś porozmawiamy o papierze toaletowym. Ten niezbędny artykuł higieniczny pojawił się

    read more
  • Zdarzenie ExportParameters w WebReport.Report

    5 października 2020

    W Fastreport 2020.1 dodaliśmy możliwość zmiany parametrów eksportu. Aby to zrobić, należy subskrybować zdarzenia ExportParameters

    read more
  • Zdarzenia PreviewControl.OnPrint i PreviewControl.OnExport

    1 października 2020

    W FastReport 2019.4 dodano możliwość przepisania zdarzeń PreviewControl.OnPrint i PreviewControl.OnExport, wywoływanie których następuję bezpośrednio po

    read more
  • Podłączanie do Elasticsearch

    10 listopada 2021

    Teraz produkty FastReport .NET, Core, Mono i OpenSource umożliwiają łączenie się z Elasticsearch. Elasticsearch to

    read more

Jak utworzyć interaktywny raport z opcją sortowania za pomocą przełączników?

2 czerwca 2021

FastReport .NET

Od czasu do czasu nasi użytkownicy stają przed zadaniem wykonania interaktywnego raportu. Może to być raport, w którym kolejność sortowania danych może być zmieniana po wykonaniu zapytania. Dziś zajmiemy się procesem tworzenia takiego raportu.

Załóżmy, że mamy gotowy plik z skonfigurowanym sortowaniem. Jako przykład posłuży nam raport Simple List z aplikacji demonstracyjnej FastReport .NET.

FastReport .NET.

Raport ma skonfigurowane sortowanie:

FastReport .NET.

 

Najpierw zespoły są sortowane według imion, a następnie według nazwisk. Sortowanie odbywa się w kolejności rosnącej, czyli od A do Я w przypadku czcionki pisanej cyrylicą, lub od A do Z w przypadku czcionki pisanej czcionką rzymską.

Teraz dodamy interaktywność do naszego raportu. Zaznaczamy obiekt tekstowy - np. tytuł i dodajemy obsługę zdarzenia Click. Dzięki temu, po kliknięciu na obiekt, w podglądzie pojawi się funkcja, którą będziemy konfigurować.

FastReport .NET.

Ponadto zmieniamy właściwość Cursor na Hand, tak aby kursor zmieniał się w dłoń, gdy wskażemy na obiekt. W ten sposób staje się oczywiste, że obiekt jest klikalny.

FastReport .NET.

Zobaczmy jak działa sortowanie w FastReport, abyśmy mogli napisać kod funkcji.

Sortowanie danych jest przechowywane jako kolekcja wartości. Istnieje kilka opcji implementacji zmiany sortowania, ale wszystkie one sprowadzają się do modyfikacji tej kolekcji.

Jeśli spojrzymy na sortowanie w kodzie, zobaczymy listę metod i właściwości. My będziemy pracować z właściwościami Descending i Expression.

FastReport .NET.

Właściwość Expression pokrywa się z polem "Sort by..." w konstruktorze, natomiast właściwość Descending pokrywa się z przełącznikiem "ascending/descending order". Należy pamiętać, że z poziomu projektanta można skonfigurować tylko trzy reguły sortowania, natomiast z poziomu kodu można dodać ich nieograniczoną ilość. W związku z tym, projektant nie obsługuje więcej niż trzech reguł. Podczas otwierania właściwości zespołu z czterema zapisanymi regułami, zostaną wyświetlone pierwsze trzy z nich i tylko one zostaną zapisane po zmianie.

Kolejność reguł sortowania rozpoczyna się od reguły o indeksie 0, następnie stosowana jest reguła o indeksie 1, itd.

W naszym przypadku, kolekcja Sort posiada dwie wartości:

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

Teraz przystępujemy do pisania kodu.

Dodajemy zmienną "sorting", która będzie ustawiała kolejność sortowania:

bool sorting = false;

Aby zmienić kolejność sortowania, należy zmienić właściwość Descending. Zmienimy ją dla zerowego elementu kolekcji Sort, a następnie sortowanie zostanie odwrócone i raport zostanie zaktualizowany:

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

Jeśli uruchomimy raport i klikniemy na tytuł - "PRACOWNICY" - zobaczymy co następuje:

FastReport .NET.

Jak widać, sortowanie zostało odwrócone, ostatnie rekordy znajdują się teraz na pierwszych pozycjach. Warto zauważyć, że kolekcję Sort można nie tylko modyfikować, ale także dodawać lub usuwać jej elementy. Na przykład zmiana sortowania może być wykonana w inny sposób:

 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();
 } 

W tym kodzie wyczyścimy kolekcję i dodamy do niej dwie nowe reguły sortowania, z których jedna posiada zmienną właściwość.

W ten sposób sprawdziliśmy, jak można zmienić sortowanie z poziomu skryptu. Oprócz zmiany sortowania za pomocą kliknięcia, możesz użyć powyższych funkcji w połączeniu z innymi. Na przykład możesz zmienić sortowanie pasma klikając przycisk w zakładce dialogowej, tworząc interaktywną listę pól źródła danych lub zmienić sortowanie w zależności od dowolnej innej wartości.

about product pobierz zamów
avatar
Alexey Tantzura
QA
Fast Reports Team: Alexey Tantzura - Quality Assurance at Fast Reports
.NET FastReport Filtering

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
  • Zamów
  • Pobierz
  • Dokumentacja
  • Opinie użytkowników
  • Jak odinstalować nasze produkty
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Kontakty

© 1998-2022 by Fast Reports Inc.

  • Poufność