Delphi, C++ Builder & .NET Część sgcUI

sgcDashboard, pulpity i karty KPI dla Delphi, C++ Builder & .NET

Zbuduj pulpit biznesowy bez kodu układu. Upuść kafelki na siatkę o 12 kolumnach, umieść w każdym kartę KPI, wykres, mapę lub podgląd raportu, przełącz cały ekran na ciemny motyw jedną właściwością i pozwól użytkownikom przeciągać, zmieniać rozmiar i zapisywać własny układ. Tile launcher daje aplikacji ekran startowy z kafelkami w grupach.

VCL, FireMonkey, WinForms, WPF, AvaloniaSiatka kafelków o 12 kolumnach z auto-flowKarty KPI jako PNG lub SVG, także w Linux64W sgcUI Professional
Demo Basic: kafelki pulpitu i karty KPI w responsywnej siatce

Wszystko, czego potrzebuje pulpit

Osiemnaście możliwości w ośmiu grupach, z prawdziwymi nazwami komponentów i właściwości oraz linkiem do każdego tematu pomocy. Funkcje oznaczone jako Registered nie wchodzą w skład bezpłatnej wersji .NET Community.

Układ i zawartość

Siatka, która sama układa kafelki, i karty pokazujące liczby.

Demo Basic sgcDashboard z sześcioma kafelkami i czterema kartami KPI na siatce o 12 kolumnach

Układ i zawartość

Responsywna siatka kafelków bez kodu układu

Pulpit to siatka kafelków, która musi pozostać uporządkowana przy każdym rozmiarze okna i każdym DPI. Upuść pulpit na formularz, dodaj kafelki i nadaj każdemu kolumnę, wiersz i rozpiętość. Siatka wylicza szerokości kolumn z dostępnej szerokości, skaluje odstępy i wysokości wierszy według DPI monitora i przewija się w pionie, gdy kafelki potrzebują więcej wierszy, niż się mieści. Nakładające się kafelki są przesuwane o wiersz w dół, nigdy jeden na drugim. Ponieważ układ mieszka w jednym silniku, te same komórki kafelków dają ten sam układ w VCL, FireMonkey i widokach .NET.

  • TsgcVCLDashboard z Columns (domyślnie 12), RowHeight (120), Gap i Padding (12)
  • TsgcVCLDashboardTile z Col, Row, ColSpan i RowSpan
  • Ukryty kafelek (Visible False) nie zajmuje komórki
  • Umieszczone komórki i prostokąty można odczytać z Layout.PlacedCell i Layout.Rect
Przeczytaj temat pomocy
Pulpit z czterema kafelkami KPI z wykresami sparkline, dziennikiem zdarzeń i listą serwerów

Układ i zawartość

Dodaj kafelki i pozwól auto-flow je rozmieścić

Gdy zawartość pulpitu zależy od użytkownika lub danych, nie chcesz wyliczać współrzędnych. Zostaw kolumnę i wiersz kafelka równe -1, a auto-flow umieści go w pierwszym wolnym miejscu, skanując wiersze od góry i kolumny od lewej. Ustal tylko kolumnę, a kafelek trafi do pierwszego wolnego wiersza w tej kolumnie. Mieszaj kafelki o stałym i płynnym położeniu na tym samym pulpicie.

  • AutoFlow jest domyślnie włączone; nowy kafelek zaczyna od Col i Row równych -1 i rozpiętości 3 na 2
  • Jawne komórki są umieszczane najpierw, płynące kafelki wypełniają pozostałe miejsce
  • Rozpiętości są przycinane, więc kafelek nigdy nie wychodzi poza ostatnią kolumnę
  • Ten sam silnik układu, TsgcDashboardLayout, napędza VCL, FireMonkey i .NET
  • Od prawej do lewej dla arabskiego i hebrajskiego: kafelki układają się od prawej, a nagłówki kafelków i karty KPI są odbite lustrzanie, podczas gdy strzałki trendu i wykresy sparkline zachowują swój kierunek
Przeczytaj temat pomocy
Kafelki pulpitu z mapą, przeglądarką PDF i podglądem raportu

Układ i zawartość

Umieść dowolną kontrolkę w kafelku

Kafelek to kontener z opcjonalnym nagłówkiem, więc gości wszystko, czego potrzebuje Twój ekran: wykres, siatkę, mapę, przeglądarkę PDF, podgląd raportu lub zwykłe memo. Ustaw rodzica kontrolki na kafelek i wyrównaj ją do obszaru klienta. Demo Suite hostuje sgcCharts, sgcMaps, sgcPDF i sgcReports na jednym pulpicie, wszystkie zgodne z motywem pulpitu. Kafelek może zrezygnować z nagłówka dla czystego wykresu na całą powierzchnię albo zachować go jako pasek tytułu. Pulpit rośnie o kolejne wiersze i przewija się w pionie w miarę dodawania kafelków.

  • Title i ShowHeader w każdym kafelku
  • ParentTheme pozwala kafelkowi podążać za pulpitem albo zachować własny Theme
  • Kontrolki sgcUI w kafelku przejmują jasny lub ciemny motyw
  • Działa tak samo z TsgcFMXDashboardTile w FireMonkey
Przeczytaj temat pomocy
Cztery karty KPI z wartościami, strzałkami trendu i wykresami sparkline

Układ i zawartość

Karty KPI z trendem i wykresem sparkline

Każdy pulpit zaczyna się od rzędu liczb, które się liczą: przychód, zamówienia, odpływ klientów, czas odpowiedzi. Karta KPI pokazuje wartość dużą czcionką, ikonę, strzałkę trendu z tekstem, linię stopki i mały wykres sparkline z ostatnich wartości, w jednym komponencie. Wywołuj AddValue, gdy napływają nowe liczby, a sparkline się przewija; MaxPoints decyduje, ile historii zachować. AccentColor pozwala pokolorować kartę zgodnie z tym, co mierzy, a karta podąża za jasnym lub ciemnym motywem pulpitu, w którym leży.

  • TsgcVCLKPICard z Title, Value, Icon, FooterText i AccentColor
  • Trend: ktUp, ktDown lub ktNeutral, z tekstem TrendValue
  • AddValue, ClearValues i MaxPoints dla wykresu sparkline
  • AddValue jest bezpieczne wątkowo, więc może go zasilać wątek roboczy
Przeczytaj temat pomocy

Układ i zawartość

Tile launcher dla ekranu startowego

Wiele aplikacji otwiera się na ekranie startowym: jeden kafelek na moduł, pogrupowane według obszarów, z licznikiem tego, co czeka w środku. Tile launcher rysuje ten ekran w jednej kontrolce. Kafelki mają cztery rozmiary, mały, średni, szeroki i duży, i są układane w grupach z podpisami, więc lukę po dużym kafelku wypełniają kolejne małe kafelki. Grupy leżą obok siebie z przewijaniem poziomym albo jedna pod drugą z przewijaniem pionowym, a cały launcher podąża za jasnym lub ciemnym motywem.

  • TsgcVCLDashboardTileLauncher i TsgcFMXDashboardTileLauncher, a w .NET TsgcWinFormsDashboardTileLauncher, TsgcWpfDashboardTileLauncher i TsgcAvaloniaDashboardTileLauncher
  • Groups i Tiles, z Caption, Subtitle, Size (dtsSmall, dtsMedium, dtsWide, dtsLarge), Color, ImageIndex i Badge rysowaną jako pigułka
  • Orientation, CellSize, Spacing, GroupColumns i GroupSpacing kształtują układ
  • OnTileClick przy kliknięciu, Enter lub Spacji. Klawisze strzałek przechodzą między kafelkami w różnych grupach, a Home i End do pierwszego i ostatniego kafelka
  • Czytniki ekranu widzą listę kafelków, które można wywołać, a SaveToPNG renderuje launcher bez formularza

Tile launcher jest w każdej edycji, także w Community.

Przeczytaj temat pomocy

Wbudowane kafelki, źródła danych i filtrowanie krzyżowe

Kafelki, które same się wypełniają z jednego źródła danych i filtrują się nawzajem jednym kliknięciem.

Demo SalesExplorer: kafelki wykresu, wskaźnika, siatki, mapy i tabeli przestawnej przefiltrowane do regionu Europa, z paskiem filtrów nad siatką

Wbudowane kafelki

Kafelki wykresu, wskaźnika, siatki, tabeli przestawnej i mapy, które same się wypełniają

Większość pulpitów pokazuje te same wiersze na pięć sposobów: przychód według regionu na wykresie, sumę na wskaźniku, rekordy w siatce, tabelę przestawną według produktu i klientów na mapie. Wbudowany kafelek już zawiera kontrolkę. Ustaw jego źródło danych i kolumny, a sam pogrupuje, zsumuje i wyświetli wiersze, bez kodu, który przenosi dane do kontrolki. Wbudowany kafelek pozostaje kafelkiem, więc ma nagłówek, komórkę i motyw, a użytkownicy przesuwają go, zmieniają jego rozmiar, zapisują i wczytują jak każdy inny.

  • TsgcVCLDashboardChartTile, GaugeTile, GridTile, PivotTile i MapTile, z tymi samymi nazwami dla FireMonkey
  • DataSource oraz tylko do odczytu View, pogrupowany i zagregowany dla kafelka
  • Kontrolka produktu jest publiczna (Chart, Gauge, Grid, Pivot, Map), więc stylizujesz ją jak zwykle
  • Wiersze dodane przez wątek roboczy kafelek przenosi do głównego wątku

Każdy kafelek wymaga odpowiedniego produktu sgcUI: sgcCharts, sgcGauges, sgcGrid, sgcPivotGrid lub sgcMaps, wraz z jego pakietem mostu. Kafelki są we wszystkich edycjach, także w Community. W .NET kafelki wykresu, wskaźnika, siatki, tabeli przestawnej i mapy istnieją dla WinForms, WPF i Avalonia.

Przeczytaj temat pomocy

Źródła danych

Jedno źródło danych zasila wszystkie kafelki

Gdy liczby pochodzą z jednego zapytania, wszystkie kafelki muszą pokazywać te same wiersze. TsgcDashboardDataSource przechowuje je tylko raz, a dowolna liczba kafelków czyta je przez własny widok: wykres grupuje według jednej kolumny, wskaźnik sumuje inną, siatka wylicza wiersze. Wypełnij go własnymi wierszami, skopiuj zestaw danych albo podłącz tabelę sgcGrid lub sgcPivotGrid i śledź jej zmiany. Ujmij wiele zmian w jedną aktualizację, a kafelki odświeżą się tylko raz.

  • Columns, AppendRow, Clear, BeginUpdate i EndUpdate
  • LoadFromDataSet kopiuje TDataSet; w .NET LoadFrom przyjmuje DataTable
  • Table podłącza dowolny IsgcUITable, na przykład siatkę lub tabelę przestawną
  • Widoki agregują sumą, liczbą, średnią, minimum, maksimum lub wcale, i są bezpieczne wątkowo

Źródła danych nie zależą od frameworka i są we wszystkich edycjach.

Przeczytaj temat pomocy

Filtrowanie krzyżowe Tylko zarejestrowana

Kliknij słupek, a wszystkie pozostałe kafelki podążą za nim

Kierownik sprzedaży widzi, że Europa zostaje w tyle, i chce szczegółów. Przy filtrowaniu krzyżowym kliknięcie słupka Europa filtruje wszystkie pozostałe kafelki tego samego źródła danych: wskaźnik sumuje wiersze europejskie, siatka je wylicza, tabela przestawna pokazuje je według produktu, a mapa zachowuje tylko ich znaczniki. Kliknięty wykres zachowuje wszystkie słupki. Pasek filtrów nad siatką pokazuje chip dla każdego warunku i chip Wyczyść wszystko, a drugie kliknięcie tego samego słupka usuwa filtr.

  • Punkty wykresu, komórki siatki, wiersze tabeli przestawnej i znaczniki mapy tworzą warunek; wskaźnik za nim podąża
  • Warunki dla różnych pól łączą się przez AND
  • ShowFilterBar, ClearFilters i OnFilterChanged na pulpicie
  • CrossFilterSource i CrossFilterTarget dla każdego kafelka oraz Filter na źródle danych dla kodu

Pasek filtrów nigdy nie jest drukowany ani eksportowany. Filtrowanie krzyżowe jest w edycji Registered; edycja Community go nie zawiera.

Przeczytaj temat pomocy

Układ responsywny i projektant w czasie działania

Mniej kolumn na wąskim ekranie oraz pulpity, które użytkownicy budują sami.

Układ responsywny

Dwanaście kolumn na pulpicie, cztery na telefonie

Pulpit zaprojektowany dla szerokiego monitora staje się nieczytelny w wąskim oknie lub na telefonie. Włącz punkty przełamania, a pulpit wybierze klasę rozmiaru według swojej szerokości: szeroka używa Columns, średnia i kompaktowa używają mniejszej liczby kolumn i własnych komórek. Domyślnie każda rozpiętość jest skalowana za Ciebie, więc większość pulpitów nie wymaga dodatkowej konfiguracji, a kafelek można ukryć w jednej klasie, na przykład dużą mapę na telefonie.

  • Breakpoints.Enabled, CompactWidth (600), MediumWidth (1024), CompactColumns (4) i MediumColumns (8)
  • CompactCell i MediumCell dla każdego kafelka, z Visible dla każdej klasy
  • ActiveBreakpoint i OnBreakpointChanged
  • Drukowanie i PDF układają kafelki według szerokości strony

Punkty przełamania są we wszystkich edycjach i domyślnie wyłączone. Edycja Community nie ma SaveLayout, więc tam punkty przełamania działają, ale nie są zapisywane.

Przeczytaj temat pomocy

Projektant w czasie działania Tylko zarejestrowana

Użytkownicy budują własne pulpity, z cofaniem

Każdy dział prosi o nieco inny pulpit. Zamiast dostarczać jeden na prośbę, pozwól użytkownikom zbudować go samodzielnie. W trybie edycji każdy kafelek można przesuwać i zmieniać jego rozmiar, kliknięcie go zaznacza, a panel projektowy dodaje wbudowane kafelki z palety, edytuje właściwości zaznaczonego kafelka, usuwa go oraz cofa i ponawia ostatnie kroki. Zapisz wynik przez SaveLayout, a kafelki dodane w czasie działania wrócą z ustawieniami i źródłem danych.

  • EditMode, SelectedTile, AddTile i RemoveTile na pulpicie
  • Undo, Redo, CanUndo i CanRedo, 50 kroków; Ctrl+Z, Ctrl+Y i Delete w trybie edycji
  • TsgcVCLDashboardDesignPanel i TsgcFMXDashboardDesignPanel, z odpowiednikami dla WinForms, WPF i Avalonia
  • OnTileAdded, OnTileRemoving i OnSelectionChanged

Projektant w czasie działania jest w edycji Registered; edycja Community go nie zawiera.

Przeczytaj temat pomocy

Zapytaj pulpit

Jeden pasek zapytań AI dla wszystkich kafelków, a wartości zostają w Twojej aplikacji.

Zapytaj pulpit

Wpisz pytanie, a odpowie właściwy kafelek

Użytkownicy nie chcą szukać kafelka, który zawiera odpowiedź. Podłącz pasek zapytań AI do routera pulpitu, a jedno pole obsłuży cały ekran. Router wybiera kafelek, o którym mówi pytanie, przesuwa go do widoku i na wierzch oraz przekazuje pytanie do jego silnika siatki lub tabeli przestawnej. Uczestniczą też kafelki wykresu, wskaźnika i mapy: wskaźnik i karta KPI odpowiadają lokalnie swoim tytułem i wartością, a kafelek wykresu lub mapy jest wyświetlany i dostaje fokus. W edycji Registered pytanie takie jak "pokaż sprzedaż w regionie West" ustawia także filtr krzyżowy Region = West.

  • TsgcVCLDashboardAI i TsgcFMXDashboardAI; TsgcWinFormsDashboardAI, TsgcWpfDashboardAI i TsgcAvaloniaDashboardAI w .NET
  • Rodzaje kafelków: siatka, tabela przestawna, KPI, wykres, wskaźnik, mapa i dane
  • LastFilter i ApplyFilters dla odpowiedzi z filtrem; Undo usuwa filtr
  • Bez dostawcy kafelek wybiera lokalny router oparty na regułach

Prywatność: dostawca widzi pytanie, tytuły i rodzaje kafelków oraz nazwy kolumn. Wartości kart KPI, wartości wskaźników i wartości kolumn nigdy nie opuszczają aplikacji, a proponowana wartość filtra jest sprawdzana lokalnie na danych. Router jest we wszystkich edycjach; odpowiedzi z filtrem są w edycji Registered.

Przeczytaj temat pomocy

Układy użytkowników i dane na żywo

Pozwól użytkownikom ułożyć własną stronę startową, zachować ją i zasilać ją z sieci.

Układy użytkowników i dane na żywo Tylko zarejestrowana

Użytkownicy przeciągają kafelki i zmieniają ich rozmiar

Na wspólnej stronie startowej każdy użytkownik chce mieć na wierzchu inne liczby. Włącz przeciąganie, a użytkownik przesunie kafelek za nagłówek; włącz zmianę rozmiaru, a uchwyt w rogu zmieni jego rozpiętość. Gdy mysz się porusza, pod kafelkami rysowana jest komórka docelowa, a kafelek przyciąga się do siatki. Escape anuluje. Kafelki oznaczone jako zablokowane nigdy się nie ruszają. Połącz to z zapisywanymi układami poniżej, a każdy użytkownik zachowa ułożoną stronę startową, podczas gdy Ty nadal decydujesz, które kafelki istnieją.

  • AllowDrag i AllowResize w pulpicie
  • Locked w kafelku zatrzymuje go na miejscu
  • OnLayoutChanged wywoływane po każdym przeciągnięciu lub zmianie rozmiaru
  • To samo zachowanie w pulpicie FireMonkey

Community buduje stały układ z kodu; przeciąganie i zmiana rozmiaru w czasie działania są w edycji Registered.

Przeczytaj temat pomocy

Układy użytkowników i dane na żywo Tylko zarejestrowana

Zapisz układ każdego użytkownika i przywróć go

Układ ułożony przez użytkownika musi wrócić po restarcie. Jedno wywołanie zapisuje parametry siatki oraz, dla każdego nazwanego kafelka, jego komórkę i widoczność jako zwarty JSON; drugie go stosuje. Kafelki są dopasowywane po nazwie, nieznane nazwy są ignorowane, a kafelki nieobecne w tekście zachowują swoje komórki, więc starszy zapisany układ nadal się wczyta po dodaniu kafelka w nowej wersji. JSON jest mały i czytelny, więc możesz dostarczyć domyślny układ z aplikacją i dać przycisk resetu, który wczyta go ponownie.

  • SaveLayout i LoadLayout zwracają i stosują ciąg JSON
  • SaveLayoutToFile, LoadLayoutFromFile, SaveLayoutToStream, LoadLayoutFromStream
  • UTF-8 bez BOM przy zapisie, BOM jest pomijany przy wczytywaniu
  • Przechowuj ciąg dla każdego użytkownika w pliku, rejestrze lub bazie danych
Przeczytaj temat pomocy

Układy użytkowników i dane na żywo Tylko zarejestrowana

Wskaźniki KPI na żywo prosto z sieci

Ekrany operacyjne pokazują wartości zmieniające się co sekundę. Most sgcDashboardWS odczytuje liczbę z każdej wiadomości JSON klienta sgcWebSockets i wpycha ją do karty, wraz z wykresem sparkline. Strzałka trendu sama podąża za poprzednią wartością. W Delphi 2010 i nowszych aktualizacje tekstu działają w głównym wątku, więc klient może używać dowolnego trybu wątkowania. Wiadomości, które nie są poprawnym JSON lub których ścieżka nie jest liczbą, są ignorowane, więc zaszumione źródło nigdy nie psuje ekranu.

  • TsgcDashboardSource_WebSocket, TsgcDashboardSource_MQTT (z Topic) i TsgcDashboardSource_SSE
  • ValuePath taka jak data.items[0].value, ValueFormat domyślnie %.2f
  • TitlePath i TrendValuePath kopiują do karty więcej pól
  • Zdarzenie OnValue po każdej aktualizacji

Most wymaga sgcWebSockets. W edycji Community zasilaj karty z kodu przez Value i AddValue.

Przeczytaj temat pomocy

Motywy, obrazy i platformy

Jeden wygląd na całym ekranie, te same karty jako obrazy, ten sam projekt na każdej platformie.

Kafelki sgcDashboard z wykresami sparkline KPI, wykresem na żywo, mapą, przeglądarką PDF i podglądem raportu w ciemnym motywie

Motywy, obrazy i platformy

Jedna właściwość nadaje motyw całemu pulpitowi

Ciemna dyspozytornia i jasne biuro potrzebują tego samego ekranu w dwóch wyglądach. Ustaw motyw pulpitu, a obejmie każdy kafelek, każdą kartę KPI i kontrolki sgcUI w nich, więc wykresy, wskaźniki zegarowe i siatki przełączają się razem. Typ motywu jest ten sam, którego używa każdy produkt sgcUI, więc cała aplikacja może podążać za jednym ustawieniem. Kafelki, które mają się wyróżniać, mogą zachować własny motyw, podczas gdy reszta pulpitu podąża za globalnym.

  • Theme := utDark lub utLight w pulpicie
  • Kafelki podążają przez ParentTheme albo zachowują własny Theme
  • Karty KPI i obrazy KPI bez interfejsu używają tej samej palety
  • Zmieniaj w czasie działania, na przykład przełącznikiem dnia i nocy
Przeczytaj temat pomocy

Motywy, obrazy i platformy

Karty KPI jako obrazy do e-maili i WWW

Liczby z pulpitu bywają potrzebne gdzie indziej: w porannym raporcie e-mailem, na stronie intranetu lub w PDF. TsgcDashboardKPI renderuje tę samą kartę bez okna i bez VCL czy FireMonkey, więc może ją wytworzyć program konsolowy, usługa Windows lub serwer Linux64. Szerokość i wysokość są w pikselach logicznych, a współczynnik skali daje ostre obrazy o wysokim DPI. Użyj tego w raportach cyklicznych: zbuduj karty z tych samych zapytań, których używa pulpit, i dołącz obrazy do wiadomości.

  • SaveToPNG do pliku lub strumienia, na przykład 320 na 160 w skali 2 daje obraz 640 na 320
  • SaveToSVG dla ostrego wyjścia wektorowego
  • Card.KPI.SaveToPNG zapisuje to, co pokazuje karta na ekranie
  • Buduje się na każdej platformie, także Linux64
Przeczytaj temat pomocy

Motywy, obrazy i platformy

Ten sam pulpit na desktopie, urządzeniach mobilnych i w .NET

Napisz pulpit raz i użyj projektu ponownie. Pulpit FireMonkey, kafelki i karty KPI działają w Windows, macOS, iOS i Android, a port .NET oferuje te same klasy dla WinForms, WPF i Avalonia. Ponieważ jeden silnik układu wylicza komórki wszędzie, zapisany układ znaczy to samo na każdej platformie. Dema są dostarczane w tym samym zestawie dla każdej platformy: Basic, LiveKPI, SaveLayout i Suite dla Delphi i C++ Builder oraz wersje WinForms, WPF i Avalonia w .NET.

  • TsgcFMXDashboard, TsgcFMXDashboardTile, TsgcFMXKPICard, TsgcFMXDashboardTileLauncher
  • TsgcWinFormsDashboard, TsgcWinFormsKPICard i ich odpowiedniki WPF i Avalonia
  • Delphi 7 do 13 VCL, FireMonkey od XE6, C++ Builder 2007 do 13
  • .NET Framework 4.7.2, .NET 8, .NET 9 i .NET 10
Przeczytaj temat pomocy

Dostępność

UI Automation dla czytników ekranu, klawiatura i wysoki kontrast, bez konfiguracji.

Dostępność

Poruszaj się po kafelkach i zmieniaj ich układ bez myszy

sgcDashboard udostępnia Microsoft UI Automation pulpit i jego kafelki wraz z tytułami i położeniem, kontrolkę umieszczoną w każdym kafelku oraz karty KPI z tytułem, wartością, jednostką i trendem.

  • Strzałki przechodzą między kafelkami, Home i End przechodzą do pierwszego lub ostatniego kafelka, a Enter przenosi fokus do kafelka z fokusem
  • Ctrl+Shift+strzałki przesuwają kafelek (AllowDrag), a Alt+Shift+strzałki zmieniają jego rozmiar (AllowResize), chyba że pulpit jest zablokowany
  • Pulpit znajduje się w kolejności tabulacji i pokazuje widoczny wskaźnik fokusu
  • W motywie wysokiego kontrastu systemu Windows obramowanie kafelków używa kolorów systemowych, a kolory akcentu i trendu kart KPI są zastępowane kolorami systemowymi

Dostępność jest domyślnie włączona w każdej edycji, łącznie z bezpłatną edycją Community, w VCL w każdej wersji Delphi i C++Builder od Delphi 7 do Delphi 13, w FireMonkey w systemie Windows oraz w WinForms, WPF i Avalonia. W Delphi i C++Builder właściwości AccessibleName i AccessibleDescription ustawiają nazwę i opis udostępniane UI Automation, a w .NET to samo robią standardowa nazwa dostępności i tekst pomocy każdego frameworka. Zobacz raporty zgodności dotyczące dostępności.

Przeczytaj temat pomocy

Zobacz sgcDashboard w akcji

sgcDashboard w demach pakietu sgcUI: kompletne aplikacje działające offline na wbudowanych danych symulowanych.

Kto buduje z sgcDashboard

Pulpity zarządcze i sprzedażowe w ERP

Strona startowa ERP pokazuje przychód, otwarte zamówienia, zaległe faktury i odpływ klientów jako karty KPI ze strzałkami trendu, a poniżej w kafelkach wykres sprzedaży i siatkę najlepszych klientów. Co noc usługa renderuje te same karty jako PNG do e-maila dla zarządu, z tymi samymi liczbami i kolorami co na ekranie.

  • Karty KPI
  • Dowolna kontrolka w kafelku
  • Obrazy KPI bez interfejsu
  • Motywy
Uruchom demo Suite

Dyspozytornie operacyjne i IoT

Ekran ścienny w zakładzie pokazuje przepustowość linii, temperatury i liczby alarmów. Źródła MQTT wpychają każdy odczyt do jego karty w chwili nadejścia, wykresy sparkline pokazują ostatnie minuty, a ciemny motyw oszczędza oczy w nocy. Wskaźniki zegarowe i wykresy w sąsiednich kafelkach podążają za tym samym motywem.

  • Źródło MQTT
  • Wykresy sparkline
  • Ciemny motyw
  • Wskaźniki zegarowe w kafelkach
Uruchom demo LiveKPI

Osobiste strony startowe w desktopowych klientach SaaS

W kliencie desktopowym używanym przez wiele ról każdy użytkownik przeciąga na górę kafelki, które mają znaczenie, zmienia rozmiar najczęściej oglądanego wykresu i ukrywa resztę. Układ jest zapisywany jako JSON dla każdego użytkownika i przywracany przy następnym logowaniu, a nowe kafelki dodane w aktualizacji po prostu wpływają w wolne miejsce.

  • Przeciąganie i zmiana rozmiaru
  • SaveLayout i LoadLayout
  • Auto-flow
Uruchom demo SaveLayout

A KPI Dashboard in a Few Lines

The same API in Delphi, C++ Builder and C#: tiles on the grid, a KPI card with a sparkline in each, a dark theme and a saved layout. Dragging and layout files need the Registered edition.

Tiles on the 12 column grid with a KPI card in each, a dark theme, and the layout saved to a file. Dragging and layout files need the Registered edition.

uses
  SysUtils, Controls, sgcUICore_Theme, sgcDashboard_KPI, sgcDashboard_VCL, sgcDashboard_KPI_VCL;
procedure AddKPI(aDash: TsgcVCLDashboard; const aName, aTitle, aValue,
  aChange: string; aCol: Integer; aTrend: TsgcDashboardKPITrend);
var
  oTile: TsgcVCLDashboardTile;
  oCard: TsgcVCLKPICard;
begin
  oTile := TsgcVCLDashboardTile.Create(aDash.Owner);
  oTile.Name := aName;
  oTile.Parent := aDash;
  oTile.Col := aCol;
  oTile.ColSpan := 4;
  oTile.Title := aTitle;
  oCard := TsgcVCLKPICard.Create(aDash.Owner);
  oCard.Parent := oTile;
  oCard.Align := alClient;
  oCard.Value := aValue;
  oCard.Trend := aTrend;
  oCard.TrendValue := aChange;
  oCard.AddValue(47);
  oCard.AddValue(52);
end;
procedure BuildDashboard(aOwner: TWinControl);
var
  oDash: TsgcVCLDashboard;
begin
  oDash := TsgcVCLDashboard.Create(aOwner);
  oDash.Parent := aOwner;
  oDash.Align := alClient;
  // drag, resize and layout files need the Registered edition
  oDash.AllowDrag := True;
  AddKPI(oDash, 'tileRevenue', 'Revenue', '12,480 USD', '+4.2 %', 0, ktUp);
  AddKPI(oDash, 'tileOrders', 'Orders', '1,284', '+8.1 %', 4, ktUp);
  oDash.Theme := utDark;
  if FileExists('layout.json') then
    oDash.LoadLayoutFromFile('layout.json');
  oDash.SaveLayoutToFile('layout.json');
end;

Przeczytaj temat pomocy →

The same dashboard in C++ Builder with the generated headers.

#include <vcl.h>
#include "sgcUICore_Theme.hpp"
#include "sgcDashboard_KPI.hpp"
#include "sgcDashboard_VCL.hpp"
#include "sgcDashboard_KPI_VCL.hpp"

void AddKPI(TsgcVCLDashboard *aDash, const String aName, const String aTitle,
  const String aValue, const String aChange, int aCol,
  TsgcDashboardKPITrend aTrend)
{
  TsgcVCLDashboardTile *oTile = new TsgcVCLDashboardTile(aDash->Owner);
  oTile->Name = aName;
  oTile->Parent = aDash;
  oTile->Col = aCol;
  oTile->ColSpan = 4;
  oTile->Title = aTitle;
  TsgcVCLKPICard *oCard = new TsgcVCLKPICard(aDash->Owner);
  oCard->Parent = oTile;
  oCard->Align = alClient;
  oCard->Value = aValue;
  oCard->Trend = aTrend;
  oCard->TrendValue = aChange;
  oCard->AddValue(47);
  oCard->AddValue(52);
}

void BuildDashboard(TWinControl *aOwner)
{
  TsgcVCLDashboard *oDash = new TsgcVCLDashboard(aOwner);
  oDash->Parent = aOwner;
  oDash->Align = alClient;
  // drag, resize and layout files need the Registered edition
  oDash->AllowDrag = true;
  AddKPI(oDash, "tileRevenue", "Revenue", "12,480 USD", "+4.2 %", 0, ktUp);
  AddKPI(oDash, "tileOrders", "Orders", "1,284", "+8.1 %", 4, ktUp);
  oDash->Theme = utDark;
  if (FileExists("layout.json"))
    oDash->LoadLayoutFromFile("layout.json");
  oDash->SaveLayoutToFile("layout.json");
}

Przeczytaj temat pomocy →

The WinForms version in C#, with the same class names as Delphi.

using System.Windows.Forms;
using esegece.sgcDashboard;
using esegece.sgcUICore;

public static class KpiDashboard
{
    // One KPI tile with a sparkline, placed on the dashboard grid.
    static void AddKPI(TsgcWinFormsDashboard aDash, string aName, string aTitle,
        string aValue, string aChange, int aCol, TsgcDashboardKPITrend aTrend)
    {
        var oTile = new TsgcWinFormsDashboardTile();
        oTile.Name = aName;
        oTile.Title = aTitle;
        oTile.Col = aCol;
        oTile.ColSpan = 4;
        var oCard = new TsgcWinFormsKPICard();
        oCard.Dock = DockStyle.Fill;
        oCard.Value = aValue;
        oCard.Trend = aTrend;
        oCard.TrendValue = aChange;
        oCard.AddValue(47);
        oCard.AddValue(52);
        oTile.Controls.Add(oCard);
        aDash.Controls.Add(oTile);
    }

    public static void Build(Form aForm)
    {
        var oDash = new TsgcWinFormsDashboard();
        oDash.Dock = DockStyle.Fill;
        oDash.Theme = TsgcUITheme.utDark;
        oDash.AllowDrag = true; // drag and layout files: Registered edition
        AddKPI(oDash, "tileRevenue", "Revenue", "12,480 USD", "+4.2 %", 0, TsgcDashboardKPITrend.ktUp);
        AddKPI(oDash, "tileOrders", "Orders", "1,284", "+8.1 %", 4, TsgcDashboardKPITrend.ktUp);
        AddKPI(oDash, "tileChurn", "Churn", "2.4 %", "-0.3 %", 8, TsgcDashboardKPITrend.ktDown);
        aForm.Controls.Add(oDash);
        if (System.IO.File.Exists("layout.json"))
            oDash.LoadLayoutFromFile("layout.json");
        oDash.SaveLayoutToFile("layout.json");
    }
}
dotnet add package esegece.sgcDashboard.WinForms

Przeczytaj temat pomocy →

Uruchom dema sgcDashboard

Sześć dem dla Delphi i C++ Builder oraz dziesięć dla .NET, wszystkie w pobraniu skompilowanych dem.

Basic

Basic

Sześć kafelków i cztery karty KPI na siatce o 12 kolumnach, z dziennikiem i listą w pozostałych kafelkach. Najszybszy sposób, by zobaczyć silnik układu i przełączanie motywu.

Tylko zarejestrowana LiveKPI

Karty KPI zasilane mostem sgcDashboardWS, z tykającymi wartościami i rosnącymi wykresami sparkline w miarę napływu wiadomości. Wymaga sgcWebSockets.

Tylko zarejestrowana SaveLayout

Przeciągaj kafelki za nagłówek, zmieniaj ich rozmiar uchwytem, zapisz układ do JSON, uruchom demo ponownie i zobacz, jak wraca.

Suite

Wykres, mapa, przeglądarka PDF, podgląd raportu i karty KPI z innych produktów sgcUI na jednym pulpicie z motywem.

SalesExplorer

SalesExplorer

Jedno źródło danych z 204 wierszami sprzedaży zasila kafelki wykresu, wskaźnika, siatki, tabeli przestawnej i mapy. Kliknij słupek regionu, komórkę siatki, wiersz tabeli przestawnej lub znacznik mapy, a pozostałe kafelki podążą za filtrem (Registered); zwęź okno, a kafelki ułożą się na nowo. Delphi VCL i C++ Builder, a w .NET SalesExplorer (WinForms) i SalesExplorerWpf. Wymaga sgcCharts, sgcGauges, sgcGrid, sgcPivotGrid i sgcMaps.

Tylko zarejestrowana Designer

Projektant w czasie działania: dodawaj wbudowane kafelki z palety panelu projektowego, przesuwaj je i zmieniaj ich rozmiar w trybie edycji, edytuj ich właściwości, usuwaj je, cofaj i ponawiaj, a pulpit zapisz jako JSON. Delphi VCL i C++ Builder, a w .NET DashboardDesigner (WinForms) i DashboardDesignerWpf.

TileLauncher

Ekran startowy z trzema grupami oraz kafelkami w każdym rozmiarze, z podtytułami, plakietkami i wyłączonym kafelkiem. Wiersz stanu pokazuje kafelek kliknięty myszą, klawiszem Enter lub Spacją, a dwie listy rozwijane przełączają orientację i motyw. TileLauncherFMX robi to samo w FireMonkey.

Dema .NET

Basic, BasicWpf, BasicAvalonia, LiveKPI, SaveLayout, Suite, SalesExplorer, SalesExplorerWpf, DashboardDesigner, DashboardDesignerWpf, TileLauncher, TileLauncherWpf i TileLauncherAvalonia dla WinForms, WPF i Avalonia.

Skompilowane dema

Gotowe do uruchomienia pliki wykonywalne każdego produktu sgcUI, nic nie trzeba instalować.

Pobierz sgcUI_bin.zip →

Przewodnik Getting Started

Pięć dem QuickStart dla Delphi (VCL) znajduje się w Demos\Dashboard\Delphi\00.QuickStart. Przewodnik PDF omawia je krok po kroku: pierwszy pulpit z kartami KPI, 12-kolumnowa siatka kafelków, dane na żywo, motywy oraz pulpit sprzedaży z kafelkiem wykresu.

Pobierz przewodnik (PDF, po angielsku) →

Gdzie jest sgcDashboard

sgcDashboard wchodzi w skład sgcUI Professional i Enterprise, a jest też sprzedawany osobno. sgcDashboard jest również w pakiecie All-Access.

Pojedynczy pakiet sgcDashboard

€199 / programista, pełny kod źródłowy, 1 rok aktualizacji.

Kup sgcDashboard → Zobacz cennik →

sgcUI Professional

Standard plus sgcDashboard, sgcCharts i sgcGauges, od €529.

Zobacz Professional →

sgcUI Enterprise

Wszystkie produkty sgcUI (17), od €699.

Zobacz Enterprise →

Bezpłatna edycja Community (esegece.sgcDashboard.Community w NuGet) zawiera siatkę, kafelki, karty KPI z wykresami sparkline, PNG i SVG bez interfejsu, motywy, źródła danych, wbudowane kafelki, responsywne punkty przełamania i routing AI do wszystkich kafelków. Nie zawiera przeciągania i zmiany rozmiaru w czasie działania, SaveLayout i LoadLayout (więc układy nie są zapisywane), filtrowania krzyżowego, projektanta w czasie działania, odpowiedzi z filtrem w funkcji Zapytaj pulpit ani mostu sgcDashboardWS. Każdy wbudowany kafelek wymaga odpowiedniego produktu sgcUI i jego pakietu mostu we wszystkich edycjach.

FunkcjaCommunity (bezpłatna)Zarejestrowana
Siatka kafelków z rozpiętościami i auto-flow✓✓
Karty KPI z trendem i wykresem sparkline✓✓
Jasny i ciemny motyw✓✓
Karty KPI bez interfejsu jako PNG i SVG✓✓
Tile launcher z pogrupowanymi kafelkami, plakietkami i nawigacją klawiaturą✓✓
Wbudowane kafelki wykresu, wskaźnika, siatki, tabeli przestawnej i mapy (każdy wymaga własnego produktu sgcUI)✓✓
Źródła danych współdzielone przez wiele kafelków✓✓
Responsywne punkty przełamania✓ (niezapisywane)✓
Routing funkcji Zapytaj pulpit do wszystkich kafelków✓✓
Filtrowanie krzyżowe z paskiem filtrów−✓
Projektant w czasie działania z panelem projektowym i cofaniem−✓
Odpowiedzi z filtrem w funkcji Zapytaj pulpit−✓
Przeciąganie i zmiana rozmiaru kafelków w czasie działania−✓
SaveLayout i LoadLayout−✓
Źródła na żywo sgcDashboardWS (WebSocket, MQTT, SSE)−✓

Obsługiwane frameworki i platformy

Komponenty w sgcDashboard

KomponentCzym jest
TsgcVCLDashboard, TsgcFMXDashboardKontener siatki dla VCL i FireMonkey.
TsgcVCLDashboardTile, TsgcFMXDashboardTileKafelek z tytułem, który gości dowolną kontrolkę.
TsgcVCLKPICard, TsgcFMXKPICardKarta KPI z trendem, stopką i wykresem sparkline.
TsgcDashboardKPINiezależna od frameworka karta KPI bez interfejsu z eksportem PNG i SVG.
TsgcVCLDashboardTileLauncher, TsgcFMXDashboardTileLauncherEkran startowy z kafelkami w czterech rozmiarach w grupach z podpisami, z plakietkami, przewijaniem i nawigacją klawiaturą.
TsgcDashboardTileLauncherNiezależny od frameworka model i renderer tile launchera z bezgłowym eksportem PNG.
TsgcDashboardDataSourceNiezależne od frameworka źródło danych, które zasila wbudowane kafelki.
TsgcVCLDashboardChartTile, GaugeTile, GridTile, PivotTile, MapTileWbudowane kafelki z kontrolką sgcCharts, sgcGauges, sgcGrid, sgcPivotGrid lub sgcMaps, w pakiecie mostu dla każdego produktu, także w wersjach FireMonkey.
TsgcVCLDashboardDesignPanel, TsgcFMXDashboardDesignPanelPanel projektanta w czasie działania (tylko Registered).
TsgcDashboardLayoutSilnik układu, dostępny także w Linux64.
TsgcDashboardSource_WebSocket, _MQTT, _SSEŹródła KPI na żywo mostu sgcDashboardWS (tylko Registered).
CelKomponentPlatformy
Delphi 7 do 13, VCLTsgcVCLDashboardWin32 i Win64
Delphi XE6 do 13, FireMonkeyTsgcFMXDashboardWindows, macOS, iOS i Android
C++ Builder 2007 do 13TsgcVCLDashboard, TsgcFMXDashboardWygenerowane nagłówki .hpp i biblioteki statyczne
Delphi 10.2 do 13, niezależnie od frameworkaTsgcDashboardLayout, TsgcDashboardKPILinux64, silnik układu i karty KPI bez interfejsu
.NET Framework 4.7.2, .NET 8, 9 i 10TsgcWinFormsDashboard, odpowiedniki WPF i AvaloniaWinForms, WPF i Avalonia

Najczęściej zadawane pytania

Tak, w edycji Registered. AllowDrag i AllowResize pozwalają użytkownikom przesuwać kafelki za nagłówek i zmieniać ich rozmiar uchwytem, a SaveLayoutToFile lub SaveLayout zapisują wynik jako JSON. LoadLayout przywraca go według nazwy kafelka, więc układy przetrwają nowe wersje Twojej aplikacji.

Każda. Kafelek to kontener: ustaw rodzica kontrolki na kafelek i wyrównaj ją do obszaru klienta. Demo Suite hostuje wykres, mapę, przeglądarkę PDF i podgląd raportu, a kontrolki sgcUI w kafelku podążają za motywem pulpitu.

Tak. Każdy wbudowany kafelek wymaga własnego produktu i własnego pakietu mostu: kafelek wykresu sgcCharts, kafelek wskaźnika sgcGauges, kafelek siatki sgcGrid, kafelek tabeli przestawnej sgcPivotGrid, a kafelek mapy sgcMaps. Rdzeń pulpitu nigdy nie używa jednostki produktu, ponieważ sgcDashboard jest sprzedawany także samodzielnie. sgcUI Enterprise zawiera je wszystkie. W .NET każdy kafelek, także kafelek mapy, jest dostępny dla WinForms, WPF i Avalonia. Zobacz Wbudowane kafelki.

Tak, w edycji Registered. Ustaw EditMode i zadokuj panel projektowy obok pulpitu: użytkownicy dodają wbudowane kafelki z palety, przesuwają je, zmieniają ich rozmiar i usuwają, edytują ich właściwości oraz cofają lub ponawiają każdy krok. SaveLayout zapisuje wynik, także kafelki dodane w czasie działania, a LoadLayout odtwarza je. Demo Designer pokazuje cały przepływ. Zobacz Projektant w czasie działania.

Z kodu ustaw Value i wywołaj AddValue, co jest bezpieczne wątkowo. Z edycją Registered i sgcWebSockets źródła sgcDashboardWS odczytują liczbę z każdej wiadomości WebSocket, MQTT lub SSE przez ValuePath i same aktualizują kartę oraz jej trend.

Pulpity i kafelki, układ siatki z auto-flow, karty KPI z wykresami sparkline, PNG i SVG bez interfejsu, motywy, źródła danych, wbudowane kafelki, responsywne punkty przełamania i routing AI. Nie zawiera przeciągania i zmiany rozmiaru w czasie działania, SaveLayout i LoadLayout, filtrowania krzyżowego, projektanta w czasie działania, odpowiedzi z filtrem routera AI ani mostu sgcDashboardWS. Zobacz Edycje.

Tak. TsgcFMXDashboard, jego kafelki i karty KPI działają w FireMonkey od Delphi XE6 w Windows, macOS, iOS i Android, z tym samym silnikiem układu co pulpit VCL. Rozmiary są niezależne od urządzenia i podążają za skalą formularza.

Tak. TsgcDashboardKPI rysuje kartę bez okna i bez VCL czy FireMonkey oraz zapisuje PNG lub SVG do pliku lub strumienia. Buduje się na każdej platformie, także Linux64, więc usługa lub serwer WWW może wytwarzać obrazy.

Tak. Wszystkie rozmiary są w pikselach niezależnych od urządzenia. Pulpit VCL skaluje je przez PPI monitora podzielone przez 96, a pulpit FireMonkey przez skalę formularza, więc kafelki, odstępy i wysokości wierszy zachowują proporcje na każdym monitorze.

Pomoc sgcDashboard

3,000+Programistów
20+Lat
761+Komponentów
30+Integracji API
5Platform
30-dniowa gwarancja zwrotu pieniędzyNie jesteś zadowolony? Poproś o pełny zwrot pieniędzy w ciągu 30 dni od zakupu. Zobacz politykę zwrotów

Wypróbuj sgcDashboard już dziś

Wersja próbna sgcUI zawiera sgcDashboard i każdy inny produkt sgcUI.