Sortowanie danych jest jednym z najważniejszych narzędzi przetwarzania danych. Można powiedzieć, że stanowi podstawę analizy. Analizowanie chaotycznych danych wyjściowych jest prawie niemożliwe. Dlatego też, sortowanie dostarcza wszystkich narzędzi, które pracują z danymi. Dotyczy to również narzędzi sprawozdawczych. Źródło danych może bowiem zapewnić nieposortowane dane raportowe, lub posortowane, ale nie w wymaganym polu, nie w kolejności.
Dokumentacja dla FastReport.Net przedstawia dwa sposoby sortowania: sortowanie wartości grupy, sortowanie danych we wstędze danych.
Pierwszy rodzaj sortowania jest dostępny przy tworzeniu grupy, czyli przy ustawianiu wstęgi Group Headline. Po wybraniu pola, na którym będziemy grupować, można je od razu posortować.
Dostępne są trzy tryby sortowania: bez sortowania, rosnąco, malejąco.
Jeśli jednak mówimy o sortowaniu podstawowych danych, możemy uzyskać dostęp do bardziej zaawansowanego sortowania – trzy pola na raz, a dla każdego z nich można wybrać kolejność sortowania.
Aby wywołać funkcję sortowania, należy dwukrotnie kliknąć nagłówek wstęgi na szablonie strony.
Pomimo przyjaznego dla użytkownika interfejsu, narzędzie to ma jedną istotną wadę – może sortować tylko trzy pola. Niektóre tabele mają jednak różne pola i może zajść konieczność posortowania ich według więcej niż 3 pól.
Ograniczenie to można ominąć, sortując dane w źródle za pomocą zapytania – poprzez utworzenie źródła danych lub korzystając ze źródła, które zostało już utworzone, bezpośrednio dla żądanej tabeli.
W pierwszym przypadku, wystarczy napisać zapytanie, aby uzyskać dane w odpowiedniej kolejności. Drugi przypadek jest taki sam, ale w źródle danych, które zostało już utworzone.
W drzewie należy wybrać właściwą tabelę. W inspektorze właściwości wybieramy SelectCommand.
Kreator tworzy zapytanie SQL. Zapytanie można wprowadzić ręcznie lub skorzystać z kreatora zapytań (Query Builder). Można więc sortować dowolną liczbę pól:
1 |
SELECT * FROM customer ORDER BY Country, City, State, CustNo, Company
|
Tworząc źródło danych, należy pamiętać, że potrzebna jest odpowiednia kolejność danych, ale zawsze można także dodać żądanie w istniejącym źródle danych. Metoda ta nie działa jednak w przypadku nierelacyjnych baz danych SQL.