vložil Radek Červinka
7. dubna 2018 00:34
Jedna ze zajímavých věcí FastReportu je křížová tabulka.
Mějme datový zdroj kde jsou např. 3 sloupce: rok, měsíc a cena (přičemž data mohou být řídká). Samozřejmě zobrazit je v seznamu dokáže každý, ale tabulka - to je jiná liga a to dokážeme během 5 minut bez řádky kódu.
Začneme s prázdnou stránkou na kterou vložíme objekt databázové křížové tabulky (DBCrossTable) a přiřadíme přes dataset náš datový zdroj.
Poklepáním na ikonu vloženého objektu se otevře designer.
Nahoře je zdroj dat a jeho sloupce. Pomocí Drag&Drop rozdělíme data (může být více sloupců, ale nebudeme to komplikovat). Dole je náhled na tabulku, výsledek ovlivníme přes řadu checkboxů. Zároveň poklepáním na buňku můžeme text upravit (nebo přidat výraz - prakticky platí podobná pravidla jako u textového pole) - přejmenuji pole Grand Total na Celkem a doplňuji češtinu a nakonec vypouštím řádkový součet.
Kliknutím na položku Select style lze vybrat z řady předdefinovaných stylů, v mém případě šeď (nemám čas). Samozřejmě každá buňka se dá editovat přes editor objektů nebo přes popup menu (nastavuji formátování čísla).
V podstatě základní report je hotov, výsledný výstup je celkem ucházející na 5 minut práce. Plus je tu potenciál na zapsání výrazu místo natažené ceny.
Streamuji report do hlavní databáze a jdu zavolat zákazníkovi, ať si nový report spustí přímo z DB ze svého klienta - pak nechám grafika ať tam dodělá logo, upraví styl a další věci už bez mé maličkosti. Report je ukládán do DB (viz můj předchozí článek), takže můžeme vzdáleně pracovat nad jednou DB bez rekompilace programu.
Exporty do všeho možného samozřejmě fungují jako vždy.
Screenshoty jsou z FastReport 4.x.