Delphi, C++ Builder & .NET Teil von sgcUI

sgcDashboard, Dashboards und KPI-Karten für Delphi, C++ Builder & .NET

Baue ein Business-Dashboard ohne Layout-Code. Lege Kacheln auf ein Raster mit 12 Spalten, setze in jede eine KPI-Karte, ein Diagramm, eine Karte oder eine Berichtsvorschau, schalte den ganzen Bildschirm mit einer Eigenschaft auf ein dunkles Theme und lass Benutzer ihr eigenes Layout ziehen, in der Größe ändern und speichern. Ein Kachel-Launcher gibt der Anwendung ihren Startbildschirm aus gruppierten Kacheln.

VCL, FireMonkey, WinForms, WPF, AvaloniaKachelraster mit 12 Spalten und Auto-FlowKPI-Karten als PNG oder SVG, auch unter Linux64Enthalten in sgcUI Professional
Basic-Demo: Dashboard-Kacheln und KPI-Karten in einem responsiven Raster

Alles, was ein Dashboard braucht

Achtzehn Funktionen in acht Gruppen, mit den echten Komponenten- und Eigenschaftsnamen und einem Link zu jedem Hilfethema. Als Registered markierte Funktionen sind nicht im kostenlosen .NET-Community-Build enthalten.

Layout und Inhalt

Ein Raster, das Kacheln für dich platziert, und Karten, die die Zahlen zeigen.

sgcDashboard-Demo Basic mit sechs Kacheln und vier KPI-Karten im Raster mit 12 Spalten

Layout und Inhalt

Ein responsives Kachelraster ohne Layout-Code

Ein Dashboard ist ein Raster aus Kacheln, das bei jeder Fenstergröße und jeder DPI aufgeräumt bleiben muss. Lege ein Dashboard auf das Formular, füge Kacheln hinzu und gib jeder eine Spalte, eine Zeile und eine Spanne. Das Raster berechnet die Spaltenbreiten aus der verfügbaren Breite, skaliert Abstände und Zeilenhöhen mit der Monitor-DPI und scrollt vertikal, wenn die Kacheln mehr Zeilen brauchen, als hineinpassen. Überlappende Kacheln werden Zeile für Zeile nach unten geschoben, nie übereinander. Da das Layout in einer Engine lebt, ergeben dieselben Kachelzellen dieselbe Anordnung in VCL, FireMonkey und den .NET-Ansichten.

  • TsgcVCLDashboard mit Columns (Standard 12), RowHeight (120), Gap und Padding (12)
  • TsgcVCLDashboardTile mit Col, Row, ColSpan und RowSpan
  • Eine ausgeblendete Kachel (Visible False) belegt keine Zelle
  • Platzierte Zellen und Rechtecke sind über Layout.PlacedCell und Layout.Rect lesbar
Hilfethema lesen
Dashboard mit vier KPI-Kacheln mit Sparklines, einem Ereignisprotokoll und einer Serverliste

Layout und Inhalt

Kacheln hinzufügen und per Auto-Flow platzieren lassen

Wenn der Inhalt eines Dashboards vom Benutzer oder von den Daten abhängt, willst du keine Koordinaten berechnen. Lass Spalte und Zeile einer Kachel auf -1, und Auto-Flow setzt sie in den ersten freien Platz, wobei die Zeilen von oben und die Spalten von links durchsucht werden. Lege nur die Spalte fest, und die Kachel fällt in die erste freie Zeile dieser Spalte. Mische feste und fließende Kacheln im selben Dashboard.

  • AutoFlow ist standardmäßig aktiv; eine neue Kachel beginnt bei Col und Row -1 mit einer Spanne von 3 mal 2
  • Explizite Zellen werden zuerst platziert, fließende Kacheln füllen den restlichen Platz
  • Spannen werden begrenzt, sodass eine Kachel nie über die letzte Spalte hinausragt
  • Dieselbe Layout-Engine, TsgcDashboardLayout, treibt VCL, FireMonkey und .NET an
  • Rechts nach links für Arabisch und Hebräisch: Kacheln fließen von rechts, und Kachelköpfe und KPI-Karten sind gespiegelt, während Trendpfeile und Sparklines ihre Richtung behalten
Hilfethema lesen
Dashboard-Kacheln mit einer Karte, einem PDF-Viewer und einer Berichtsvorschau

Layout und Inhalt

Beliebige Steuerelemente in eine Kachel setzen

Eine Kachel ist ein Container mit optionaler Kopfzeile und nimmt alles auf, was dein Bildschirm braucht: ein Diagramm, ein Grid, eine Karte, einen PDF-Viewer, eine Berichtsvorschau oder ein schlichtes Memo. Setze den Parent des Steuerelements auf die Kachel und richte es am Clientbereich aus. Die Suite-Demo hostet sgcCharts, sgcMaps, sgcPDF und sgcReports in einem Dashboard, alle im Dashboard-Theme. Eine Kachel kann ihre Kopfzeile für ein sauberes randloses Diagramm weglassen oder als Titelleiste behalten. Das Dashboard wächst mit jeder Kachel um Zeilen und scrollt vertikal.

  • Title und ShowHeader an jeder Kachel
  • ParentTheme lässt eine Kachel dem Dashboard folgen oder ihr eigenes Theme behalten
  • sgcUI-Steuerelemente in einer Kachel übernehmen das helle oder dunkle Theme
  • Funktioniert genauso mit TsgcFMXDashboardTile in FireMonkey
Hilfethema lesen
Vier KPI-Karten mit Werten, Trendpfeilen und Sparklines

Layout und Inhalt

KPI-Karten mit Trend und Sparkline

Jedes Dashboard beginnt mit einer Zeile wichtiger Zahlen: Umsatz, Bestellungen, Abwanderung, Antwortzeit. Eine KPI-Karte zeigt den Wert groß, ein Symbol, einen Trendpfeil mit Text, eine Fußzeile und eine kleine Sparkline der letzten Werte in einer Komponente. Rufe AddValue auf, sobald neue Zahlen eintreffen, und die Sparkline scrollt; MaxPoints bestimmt, wie viel Verlauf sie behält. Mit AccentColor färbst du eine Karte passend zu dem, was sie misst, und die Karte folgt dem hellen oder dunklen Theme des Dashboards, in dem sie liegt.

  • TsgcVCLKPICard mit Title, Value, Icon, FooterText und AccentColor
  • Trend: ktUp, ktDown oder ktNeutral, mit dem Text TrendValue
  • AddValue, ClearValues und MaxPoints für die Sparkline
  • AddValue ist threadsicher, sodass ein Worker-Thread es füttern kann
Hilfethema lesen

Layout und Inhalt

Ein Kachel-Launcher für den Startbildschirm

Viele Anwendungen starten mit einem Startbildschirm: eine Kachel pro Modul, nach Bereichen gruppiert, mit einer Zahl für das, was darin wartet. Der Kachel-Launcher zeichnet diesen Bildschirm in einem einzigen Steuerelement. Die Kacheln gibt es in vier Größen, klein, mittel, breit und groß, und sie werden in beschriftete Gruppen gepackt, sodass eine Lücke, die eine große Kachel lässt, von den folgenden kleinen Kacheln gefüllt wird. Die Gruppen stehen nebeneinander mit horizontalem Scrollen oder sind gestapelt mit vertikalem Scrollen, und der gesamte Launcher folgt dem hellen oder dunklen Theme.

  • TsgcVCLDashboardTileLauncher und TsgcFMXDashboardTileLauncher, und in .NET TsgcWinFormsDashboardTileLauncher, TsgcWpfDashboardTileLauncher und TsgcAvaloniaDashboardTileLauncher
  • Groups und Tiles mit Caption, Subtitle, Size (dtsSmall, dtsMedium, dtsWide, dtsLarge), Color, ImageIndex und einem als Pille gezeichneten Badge
  • Orientation, CellSize, Spacing, GroupColumns und GroupSpacing bestimmen das Layout
  • OnTileClick bei Klick, Enter oder Leertaste. Die Pfeiltasten wechseln zwischen den Kacheln über die Gruppen hinweg, Pos1 und Ende springen zur ersten und zur letzten Kachel
  • Screenreader sehen eine Liste aufrufbarer Kacheln, und SaveToPNG rendert den Launcher ohne Formular

Der Kachel-Launcher ist in jeder Edition enthalten, auch in Community.

Hilfethema lesen

Integrierte Kacheln, Datenquellen und Kreuzfilterung

Kacheln, die sich aus einer Datenquelle selbst füllen und sich per Klick gegenseitig filtern.

SalesExplorer-Demo: Diagramm-, Gauge-, Grid-, Map- und Pivot-Kacheln, gefiltert nach der Region Europa, mit der Filterleiste über dem Grid

Integrierte Kacheln

Diagramm-, Gauge-, Grid-, Pivot- und Map-Kacheln, die sich selbst füllen

Die meisten Dashboards zeigen dieselben Zeilen auf fünf Arten: den Umsatz je Region in einem Diagramm, die Summe auf einem Gauge, die Datensätze in einem Grid, eine Pivot-Tabelle nach Produkt und die Kunden auf einer Karte. Eine integrierte Kachel enthält das Steuerelement bereits. Setze ihre Datenquelle und ihre Spalten, und sie gruppiert, summiert und listet die Zeilen für dich, ohne Code, der Daten in das Steuerelement verschiebt. Eine integrierte Kachel bleibt eine Kachel, sie hat also eine Kopfzeile, eine Zelle und ein Theme, und Benutzer verschieben, ändern, speichern und laden sie wie jede andere.

  • TsgcVCLDashboardChartTile, GaugeTile, GridTile, PivotTile und MapTile, mit denselben Namen für FireMonkey
  • DataSource und die schreibgeschützte View, gruppiert und aggregiert für die Kachel
  • Das Produkt-Steuerelement ist öffentlich (Chart, Gauge, Grid, Pivot, Map), du gestaltest es also wie gewohnt
  • Zeilen, die ein Worker-Thread anhängt, verschiebt die Kachel in den Hauptthread

Jede Kachel braucht das passende sgcUI-Produkt: sgcCharts, sgcGauges, sgcGrid, sgcPivotGrid oder sgcMaps, mit seinem Brückenpaket. Die Kacheln sind in jeder Edition enthalten, auch in Community. In .NET gibt es die Diagramm-, Gauge-, Grid-, Pivot- und Map-Kacheln für WinForms, WPF und Avalonia.

Hilfethema lesen

Datenquellen

Eine Datenquelle versorgt alle Kacheln

Wenn die Zahlen aus einer Abfrage stammen, müssen alle Kacheln dieselben Zeilen zeigen. Eine TsgcDashboardDataSource hält sie einmal, und beliebig viele Kacheln lesen sie, jede über ihre eigene Sicht: Ein Diagramm gruppiert nach einer Spalte, ein Gauge summiert eine, ein Grid listet die Zeilen. Fülle sie mit eigenen Zeilen, kopiere ein Dataset oder binde eine Tabelle von sgcGrid oder sgcPivotGrid und folge ihren Änderungen. Fasse viele Änderungen in einem Update zusammen, und die Kacheln werden nur einmal aktualisiert.

  • Columns, AppendRow, Clear, BeginUpdate und EndUpdate
  • LoadFromDataSet kopiert ein TDataSet; in .NET nimmt LoadFrom eine DataTable
  • Table bindet jede IsgcUITable, etwa ein Grid oder ein Pivot-Grid
  • Die Sichten aggregieren mit Summe, Anzahl, Mittelwert, Minimum, Maximum oder gar nicht und sind threadsicher

Datenquellen sind Framework-neutral und Teil jeder Edition.

Hilfethema lesen

Kreuzfilterung Nur Registered

Klicke auf einen Balken, und alle anderen Kacheln folgen

Ein Vertriebsleiter sieht, dass Europa zurückliegt, und will die Details. Mit der Kreuzfilterung filtert ein Klick auf den Europa-Balken alle anderen Kacheln derselben Datenquelle: Das Gauge summiert die europäischen Zeilen, das Grid listet sie, die Pivot-Tabelle zeigt sie nach Produkt und die Karte behält nur ihre Marker. Das angeklickte Diagramm behält alle seine Balken. Eine Filterleiste über dem Grid zeigt einen Chip je Bedingung und einen Chip Alle löschen, und ein zweiter Klick auf denselben Balken hebt den Filter auf.

  • Diagrammpunkte, Grid-Zellen, Pivot-Zeilen und Kartenmarker lösen eine Bedingung aus; ein Gauge folgt ihr
  • Bedingungen auf verschiedenen Feldern werden mit AND kombiniert
  • ShowFilterBar, ClearFilters und OnFilterChanged am Dashboard
  • CrossFilterSource und CrossFilterTarget je Kachel und Filter an der Datenquelle für den Code

Die Filterleiste wird nie gedruckt oder exportiert. Die Kreuzfilterung gehört zur Registered-Edition; die Community-Edition enthält sie nicht.

Hilfethema lesen

Responsives Layout und Laufzeit-Designer

Weniger Spalten auf einem schmalen Bildschirm, und Dashboards, die deine Benutzer selbst bauen.

Responsives Layout

Zwölf Spalten am Desktop, vier am Smartphone

Ein für einen breiten Monitor entworfenes Dashboard wird in einem schmalen Fenster oder auf einem Smartphone unlesbar. Schalte die Breakpoints ein, und das Dashboard wählt anhand seiner Breite eine Größenklasse: Breit nutzt Columns, mittel und kompakt nutzen weniger Spalten und eigene Zellen. Standardmäßig wird jeder Span für dich skaliert, die meisten Dashboards brauchen also keine zusätzliche Einrichtung, und eine Kachel lässt sich in nur einer Klasse ausblenden, etwa eine große Karte auf dem Smartphone.

  • Breakpoints.Enabled, CompactWidth (600), MediumWidth (1024), CompactColumns (4) und MediumColumns (8)
  • CompactCell und MediumCell je Kachel, mit Visible je Klasse
  • ActiveBreakpoint und OnBreakpointChanged
  • Druck und PDF ordnen die Kacheln für die Seitenbreite an

Breakpoints gibt es in jeder Edition, und sie sind standardmäßig aus. Die Community-Edition hat kein SaveLayout, dort funktionieren die Breakpoints, werden aber nicht gespeichert.

Hilfethema lesen

Laufzeit-Designer Nur Registered

Benutzer bauen ihre eigenen Dashboards, mit Rückgängig

Jede Abteilung wünscht sich ein etwas anderes Dashboard. Statt eines je Anfrage auszuliefern, lass die Benutzer es bauen. Im Bearbeitungsmodus lässt sich jede Kachel verschieben und in der Größe ändern, ein Klick wählt sie aus, und das Design-Panel fügt integrierte Kacheln aus einer Palette hinzu, bearbeitet die Eigenschaften der gewählten Kachel, entfernt sie und macht die letzten Schritte rückgängig oder stellt sie wieder her. Speichere das Ergebnis mit SaveLayout, und die zur Laufzeit hinzugefügten Kacheln kommen mit ihren Einstellungen und ihrer Datenquelle zurück.

  • EditMode, SelectedTile, AddTile und RemoveTile am Dashboard
  • Undo, Redo, CanUndo und CanRedo, 50 Schritte; Strg+Z, Strg+Y und Entf im Bearbeitungsmodus
  • TsgcVCLDashboardDesignPanel und TsgcFMXDashboardDesignPanel, mit Gegenstücken für WinForms, WPF und Avalonia
  • OnTileAdded, OnTileRemoving und OnSelectionChanged

Der Laufzeit-Designer gehört zur Registered-Edition; die Community-Edition enthält ihn nicht.

Hilfethema lesen

Das Dashboard fragen

Eine KI-Abfrageleiste für alle Kacheln, wobei die Werte in deiner Anwendung bleiben.

Das Dashboard fragen

Tippe eine Frage, und die richtige Kachel antwortet

Benutzer wollen nicht nach der Kachel suchen, die die Antwort enthält. Verknüpfe eine KI-Abfrageleiste mit dem Dashboard-Router, und ein Feld bedient den ganzen Bildschirm. Der Router wählt die Kachel, um die es in der Frage geht, holt sie in den Blick und in den Fokus und leitet die Frage an ihre Grid- oder Pivot-Engine weiter. Auch Diagramm-, Gauge- und Map-Kacheln machen mit: Ein Gauge und eine KPI-Karte antworten lokal mit ihrem Titel und Wert, und eine Diagramm- oder Map-Kachel wird gezeigt und fokussiert. In der Registered-Edition setzt eine Frage wie „zeige die Umsätze der Region West“ außerdem den Kreuzfilter Region = West.

  • TsgcVCLDashboardAI und TsgcFMXDashboardAI; TsgcWinFormsDashboardAI, TsgcWpfDashboardAI und TsgcAvaloniaDashboardAI in .NET
  • Kachelarten: Grid, Pivot, KPI, Diagramm, Gauge, Map und Daten
  • LastFilter und ApplyFilters für Filterantworten; Undo entfernt den Filter
  • Ohne Provider wählt ein lokaler regelbasierter Router die Kachel

Datenschutz: Der Provider sieht die Frage, die Titel und Arten der Kacheln und die Spaltennamen. KPI-Werte, Gauge-Werte und die Werte der Spalten verlassen die Anwendung nie, und ein vorgeschlagener Filterwert wird lokal gegen die Daten geprüft. Der Router gehört zu jeder Edition; Filterantworten gehören zur Registered-Edition.

Hilfethema lesen

Benutzerlayouts und Live-Daten

Benutzer ihre eigene Startseite anordnen und behalten lassen und sie aus dem Netz speisen.

Benutzerlayouts und Live-Daten Nur Registered

Benutzer ziehen die Kacheln und ändern ihre Größe

Auf einer gemeinsamen Startseite will jeder Benutzer andere Zahlen vorn sehen. Schalte das Ziehen ein, und der Benutzer verschiebt eine Kachel an ihrer Kopfzeile; schalte die Größenänderung ein, und ein Griff in der Ecke ändert ihre Spanne. Während sich die Maus bewegt, wird die Zielzelle unter den Kacheln gezeichnet, und die Kachel rastet im Raster ein. Mit Escape brichst du ab. Kacheln, die du als gesperrt markierst, bewegen sich nie. Kombiniere es mit den gespeicherten Layouts unten, und jeder Benutzer behält die Startseite, die er angeordnet hat, während du weiter bestimmst, welche Kacheln es gibt.

  • AllowDrag und AllowResize am Dashboard
  • Locked an einer Kachel hält sie an ihrem Platz
  • OnLayoutChanged wird nach jedem Ziehen oder jeder Größenänderung ausgelöst
  • Gleiches Verhalten im FireMonkey-Dashboard

Community baut ein festes Layout aus dem Code; Ziehen und Größe ändern zur Laufzeit sind Registered.

Hilfethema lesen

Benutzerlayouts und Live-Daten Nur Registered

Das Layout jedes Benutzers speichern und wiederherstellen

Ein vom Benutzer angeordnetes Layout muss nach einem Neustart zurückkommen. Ein Aufruf schreibt die Rastermaße und für jede benannte Kachel ihre Zelle und Sichtbarkeit als kompaktes JSON; ein anderer wendet es an. Kacheln werden über den Namen zugeordnet, unbekannte Namen werden ignoriert, und Kacheln, die im Text fehlen, behalten ihre Zellen, sodass ein älteres gespeichertes Layout auch nach dem Hinzufügen einer Kachel in einer neuen Version noch lädt. Das JSON ist klein und lesbar, sodass du ein Standardlayout mit der Anwendung ausliefern und eine Zurücksetzen-Schaltfläche anbieten kannst, die es erneut lädt.

  • SaveLayout und LoadLayout liefern und wenden einen JSON-String an
  • SaveLayoutToFile, LoadLayoutFromFile, SaveLayoutToStream, LoadLayoutFromStream
  • UTF-8 ohne BOM beim Speichern, ein BOM wird beim Laden übersprungen
  • Speichere den String pro Benutzer in einer Datei, der Registry oder deiner Datenbank
Hilfethema lesen

Benutzerlayouts und Live-Daten Nur Registered

Live-KPIs direkt aus dem Netz

Betriebsbildschirme zeigen Werte, die sich jede Sekunde ändern. Die Brücke sgcDashboardWS liest aus jeder JSON-Nachricht eines sgcWebSockets-Clients eine Zahl und schiebt sie in eine Karte, Sparkline inklusive. Der Trendpfeil folgt dem vorherigen Wert von selbst. Ab Delphi 2010 laufen die Textaktualisierungen im Hauptthread, sodass der Client jeden Threading-Modus nutzen kann. Nachrichten, die kein gültiges JSON sind oder deren Pfad keine Zahl ist, werden ignoriert, sodass ein verrauschter Feed den Bildschirm nie stört.

  • TsgcDashboardSource_WebSocket, TsgcDashboardSource_MQTT (mit Topic) und TsgcDashboardSource_SSE
  • ValuePath wie data.items[0].value, ValueFormat standardmäßig %.2f
  • TitlePath und TrendValuePath kopieren weitere Felder in die Karte
  • Ereignis OnValue nach jeder Aktualisierung

Die Brücke braucht sgcWebSockets. In Community speist du Karten aus dem Code mit Value und AddValue.

Hilfethema lesen

Themes, Bilder und Plattformen

Ein Look über den ganzen Bildschirm, dieselben Karten als Bilder, dasselbe Design auf jedem Ziel.

sgcDashboard-Kacheln mit KPI-Sparklines, einem Live-Diagramm, einer Karte, einem PDF-Viewer und einer Berichtsvorschau im dunklen Theme

Themes, Bilder und Plattformen

Eine Eigenschaft gestaltet das ganze Dashboard

Ein dunkler Leitstand und ein helles Büro brauchen denselben Bildschirm in zwei Looks. Setze das Dashboard-Theme, und es erreicht jede Kachel, jede KPI-Karte und die sgcUI-Steuerelemente darin, sodass Diagramme, Gauges und Grids gemeinsam umschalten. Der Theme-Typ ist derselbe, den jedes sgcUI-Produkt verwendet, sodass eine ganze Anwendung einer Einstellung folgen kann. Kacheln, die auffallen sollen, können ein eigenes Theme behalten, während der Rest des Dashboards dem globalen folgt.

  • Theme := utDark oder utLight am Dashboard
  • Kacheln folgen mit ParentTheme oder behalten ihr eigenes Theme
  • KPI-Karten und Headless-KPI-Bilder verwenden dieselbe Palette
  • Zur Laufzeit änderbar, zum Beispiel über einen Tag-und-Nacht-Schalter
Hilfethema lesen

Themes, Bilder und Plattformen

KPI-Karten als Bilder für E-Mail und Web

Die Zahlen des Dashboards werden oft anderswo gebraucht: in der Berichts-E-Mail am Morgen, auf einer Intranetseite oder in einem PDF. TsgcDashboardKPI rendert dieselbe Karte ohne Fenster und ohne VCL oder FireMonkey, sodass ein Konsolenprogramm, ein Windows-Dienst oder ein Linux64-Server sie erzeugen kann. Breite und Höhe sind logische Pixel, und ein Skalierungsfaktor liefert scharfe Bilder mit hoher DPI. Nutze es für geplante Berichte: Baue die Karten aus denselben Abfragen, die dein Dashboard verwendet, und hänge die Bilder an die Nachricht.

  • SaveToPNG in eine Datei oder einen Stream, zum Beispiel 320 mal 160 bei Skalierung 2 für ein Bild mit 640 mal 320
  • SaveToSVG für gestochen scharfe Vektorausgabe
  • Card.KPI.SaveToPNG speichert, was eine Karte auf dem Bildschirm zeigt
  • Baut auf jeder Plattform, Linux64 eingeschlossen
Hilfethema lesen

Themes, Bilder und Plattformen

Dasselbe Dashboard auf Desktop, Mobilgerät und .NET

Schreibe das Dashboard einmal und nutze das Design wieder. Das FireMonkey-Dashboard, die Kacheln und KPI-Karten laufen unter Windows, macOS, iOS und Android, und der .NET-Port bietet dieselben Klassen für WinForms, WPF und Avalonia. Da eine Layout-Engine die Zellen überall berechnet, bedeutet ein gespeichertes Layout auf jedem Ziel dasselbe. Die Demos werden für jedes Ziel im gleichen Satz geliefert: Basic, LiveKPI, SaveLayout und Suite für Delphi und C++ Builder, dazu WinForms-, WPF- und Avalonia-Versionen in .NET.

  • TsgcFMXDashboard, TsgcFMXDashboardTile, TsgcFMXKPICard, TsgcFMXDashboardTileLauncher
  • TsgcWinFormsDashboard, TsgcWinFormsKPICard und ihre WPF- und Avalonia-Gegenstücke
  • Delphi 7 bis 13 VCL, FireMonkey ab XE6, C++ Builder 2007 bis 13
  • .NET Framework 4.7.2, .NET 8, .NET 9 und .NET 10
Hilfethema lesen

Barrierefreiheit

UI Automation für Screenreader, Tastatur und hohen Kontrast, ohne Einrichtung.

Barrierefreiheit

Durch Kacheln navigieren und sie ohne Maus anordnen

sgcDashboard stellt das Dashboard und seine Kacheln mit ihren Titeln und ihrer Position, das in jeder Kachel gehostete Steuerelement und die KPI-Karten mit Titel, Wert, Einheit und Trend über Microsoft UI Automation bereit.

  • Pfeiltasten wechseln zwischen Kacheln, Pos1 und Ende springen zur ersten oder letzten Kachel, und Enter setzt den Fokus in die fokussierte Kachel
  • Strg+Umschalt+Pfeiltasten verschieben die Kachel (AllowDrag) und Alt+Umschalt+Pfeiltasten ändern ihre Größe (AllowResize), sofern das Dashboard nicht gesperrt ist
  • Das Dashboard ist ein Tabstopp und zeigt einen sichtbaren Fokusrahmen
  • Unter einem Windows-Kontrastdesign verwendet der Kachelrahmen die Systemfarben, und die Akzent- und Trendfarben der KPI-Karten werden durch Systemfarben ersetzt

Barrierefreiheit ist in jeder Edition standardmäßig aktiv, auch in der kostenlosen Community-Edition, unter VCL in jeder Delphi- und C++Builder-Version von Delphi 7 bis Delphi 13, in FireMonkey unter Windows sowie unter WinForms, WPF und Avalonia. In Delphi und C++Builder legen AccessibleName und AccessibleDescription den Namen und die Beschreibung fest, die über UI Automation bereitgestellt werden, und unter .NET leisten der Standardname und der Standard-Hilfetext des jeweiligen Frameworks dasselbe. Siehe die Konformitätsberichte zur Barrierefreiheit.

Hilfethema lesen

sgcDashboard in Aktion erleben

sgcDashboard in den sgcUI-Suite-Demos: vollständige Anwendungen, die offline mit integrierten Simulationsdaten laufen.

Wer mit sgcDashboard baut

Management- und Vertriebs-Dashboards in einem ERP

Die Startseite eines ERP zeigt Umsatz, offene Bestellungen, überfällige Rechnungen und Abwanderung als KPI-Karten mit Trendpfeilen, darunter in Kacheln ein Umsatzdiagramm und ein Grid mit den wichtigsten Kunden. Jede Nacht rendert ein Dienst dieselben Karten als PNG für die Management-E-Mail, mit denselben Zahlen und Farben wie auf dem Bildschirm.

  • KPI-Karten
  • Beliebiges Steuerelement in einer Kachel
  • Headless-KPI-Bilder
  • Themes
Demo Suite ausführen

Leitstände für Betrieb und IoT

Ein Wandbildschirm in einem Werk zeigt Liniendurchsatz, Temperaturen und Alarmzahlen. MQTT-Quellen schieben jeden Messwert beim Eintreffen in seine Karte, die Sparklines zeigen die letzten Minuten, und ein dunkles Theme hält den Raum nachts ruhig. Gauges und Diagramme in benachbarten Kacheln folgen demselben Theme.

  • MQTT-Quelle
  • Sparklines
  • Dunkles Theme
  • Gauges in Kacheln
Demo LiveKPI ausführen

Persönliche Startseiten in Desktop-SaaS-Clients

In einem Desktop-Client, den viele Rollen nutzen, zieht jeder Benutzer die wichtigen Kacheln nach oben, ändert die Größe des Diagramms, das er am meisten beobachtet, und blendet den Rest aus. Das Layout wird pro Benutzer als JSON gespeichert und bei der nächsten Anmeldung wiederhergestellt, und mit einem Update hinzugefügte Kacheln fließen einfach in freien Platz.

  • Ziehen und Größe ändern
  • SaveLayout und LoadLayout
  • Auto-Flow
Demo SaveLayout ausführen

Ein KPI-Dashboard in wenigen Zeilen

Dieselbe API in Delphi, C++ Builder und C#: Kacheln im Raster, in jeder eine KPI-Karte mit Sparkline, ein dunkles Theme und ein gespeichertes Layout. Ziehen und Layoutdateien brauchen die registrierte Edition.

Kacheln im Raster mit 12 Spalten mit je einer KPI-Karte, ein dunkles Theme und das in einer Datei gespeicherte Layout. Ziehen und Layoutdateien brauchen die registrierte 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;

Hilfethema lesen →

Dasselbe Dashboard in C++ Builder mit den generierten Headern.

#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");
}

Hilfethema lesen →

Die WinForms-Version in C#, mit denselben Klassennamen wie in 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

Hilfethema lesen →

Die sgcDashboard-Demos ausführen

Sechs Demos für Delphi und C++ Builder und zehn für .NET, alle im Download der kompilierten Demos.

Basic

Basic

Sechs Kacheln und vier KPI-Karten im Raster mit 12 Spalten, mit einem Protokoll und einer Liste in den anderen Kacheln. Der schnellste Weg, die Layout-Engine und den Theme-Wechsel zu sehen.

Nur Registered LiveKPI

KPI-Karten, von der Brücke sgcDashboardWS gespeist, mit tickenden Werten und wachsenden Sparklines, während Nachrichten eintreffen. Braucht sgcWebSockets.

Nur Registered SaveLayout

Kacheln an der Kopfzeile ziehen, am Griff in der Größe ändern, das Layout als JSON speichern, die Demo neu starten und die Wiederherstellung sehen.

Suite

Ein Diagramm, eine Karte, ein PDF-Viewer, eine Berichtsvorschau und KPI-Karten aus anderen sgcUI-Produkten in einem Dashboard mit einheitlichem Theme.

SalesExplorer

SalesExplorer

Eine Datenquelle mit 204 Umsatzzeilen versorgt Diagramm-, Gauge-, Grid-, Pivot- und Map-Kacheln. Klicke auf einen Regionsbalken, eine Grid-Zelle, eine Pivot-Zeile oder einen Kartenmarker, und die anderen Kacheln folgen dem Filter (Registered); mache das Fenster schmal, und die Kacheln ordnen sich neu an. Delphi VCL und C++ Builder, dazu SalesExplorer (WinForms) und SalesExplorerWpf in .NET. Benötigt sgcCharts, sgcGauges, sgcGrid, sgcPivotGrid und sgcMaps.

Nur Registered Designer

Der Laufzeit-Designer: Füge integrierte Kacheln aus der Palette des Design-Panels hinzu, verschiebe sie und ändere ihre Größe im Bearbeitungsmodus, bearbeite ihre Eigenschaften, entferne sie, mache Schritte rückgängig und stelle sie wieder her, und speichere das Dashboard als JSON. Delphi VCL und C++ Builder, dazu DashboardDesigner (WinForms) und DashboardDesignerWpf in .NET.

TileLauncher

Ein Startbildschirm mit drei Gruppen und Kacheln in jeder Größe, Untertiteln, Badges und einer deaktivierten Kachel. Die Statuszeile zeigt die per Maus, Enter oder Leertaste angeklickte Kachel, und zwei Comboboxen schalten Ausrichtung und Theme um. TileLauncherFMX macht dasselbe in FireMonkey.

.NET demos

Basic, BasicWpf, BasicAvalonia, LiveKPI, SaveLayout, Suite, SalesExplorer, SalesExplorerWpf, DashboardDesigner, DashboardDesignerWpf, TileLauncher, TileLauncherWpf und TileLauncherAvalonia für WinForms, WPF und Avalonia.

Kompilierte Demos

Sofort lauffähige Programme jedes sgcUI-Produkts, nichts zu installieren.

sgcUI_bin.zip herunterladen →

Getting-Started-Leitfaden

Fünf QuickStart-Demos für Delphi (VCL) liegen in Demos\Dashboard\Delphi\00.QuickStart. Der PDF-Leitfaden (auf Englisch) führt Schritt für Schritt durch sie: ein erstes Dashboard mit KPI-Karten, das Kachelraster mit 12 Spalten, Live-Daten, Themes und ein Verkaufs-Dashboard mit einer Diagramm-Kachel.

Leitfaden herunterladen (PDF, Englisch) →

Wo sgcDashboard enthalten ist

sgcDashboard ist in sgcUI Professional und Enterprise enthalten und wird auch einzeln verkauft. sgcDashboard ist außerdem im All-Access-Paket enthalten.

sgcDashboard Einzelpaket

€199 / Entwickler, voller Quellcode, 1 Jahr Updates.

sgcDashboard kaufen → Preise ansehen →

sgcUI Professional

Standard plus sgcDashboard, sgcCharts und sgcGauges, ab €529.

Professional ansehen →

sgcUI Enterprise

Alle 17 sgcUI-Produkte, ab €699.

Enterprise ansehen →

Die kostenlose Community-Edition (esegece.sgcDashboard.Community auf NuGet) enthält das Raster, die Kacheln, KPI-Karten mit Sparklines, PNG und SVG ohne Fenster, die Themes, die Datenquellen, die integrierten Kacheln, die responsiven Breakpoints und das KI-Routing zu allen Kacheln. Sie enthält kein Ziehen und Größenändern zur Laufzeit, kein SaveLayout und LoadLayout (Layouts werden also nicht gespeichert), keine Kreuzfilterung, keinen Laufzeit-Designer, keine Filterantworten von Das Dashboard fragen und keine Brücke sgcDashboardWS. Jede integrierte Kachel braucht in jeder Edition das passende sgcUI-Produkt und sein Brückenpaket.

FunktionCommunity (kostenlos)Registered
Kachelraster mit Spannen und Auto-Flow✓✓
KPI-Karten mit Trend und Sparkline✓✓
Helle und dunkle Themes✓✓
Headless-KPI-Karten als PNG und SVG✓✓
Kachel-Launcher mit gruppierten Kacheln, Badges und Tastaturnavigation✓✓
Integrierte Diagramm-, Gauge-, Grid-, Pivot- und Map-Kacheln (jede braucht ihr sgcUI-Produkt)✓✓
Datenquellen, die mehrere Kacheln gemeinsam nutzen✓✓
Responsive Breakpoints✓ (nicht gespeichert)✓
Routing von Das Dashboard fragen zu allen Kacheln✓✓
Kreuzfilterung mit der Filterleiste−✓
Laufzeit-Designer mit Design-Panel und Rückgängig−✓
Filterantworten von Das Dashboard fragen−✓
Ziehen und Größe ändern der Kacheln zur Laufzeit−✓
SaveLayout und LoadLayout−✓
Live-Quellen von sgcDashboardWS (WebSocket, MQTT, SSE)−✓

Unterstützte Frameworks und Plattformen

Komponenten in sgcDashboard

KomponenteWas es ist
TsgcVCLDashboard, TsgcFMXDashboardDer Rastercontainer für VCL und FireMonkey.
TsgcVCLDashboardTile, TsgcFMXDashboardTileEine Kachel mit Titel, die jedes Steuerelement aufnimmt.
TsgcVCLKPICard, TsgcFMXKPICardEine KPI-Karte mit Trend, Fußzeile und Sparkline.
TsgcDashboardKPIDie frameworkneutrale Headless-KPI-Karte mit PNG- und SVG-Export.
TsgcVCLDashboardTileLauncher, TsgcFMXDashboardTileLauncherEin Startbildschirm mit Kacheln in vier Größen in beschrifteten Gruppen, mit Badges, Scrollen und Tastaturnavigation.
TsgcDashboardTileLauncherDas frameworkneutrale Modell und der Renderer des Kachel-Launchers, mit PNG-Export ohne Oberfläche.
TsgcDashboardDataSourceDie Framework-neutrale Datenquelle, die die integrierten Kacheln versorgt.
TsgcVCLDashboardChartTile, GaugeTile, GridTile, PivotTile, MapTileIntegrierte Kacheln mit einem Steuerelement von sgcCharts, sgcGauges, sgcGrid, sgcPivotGrid oder sgcMaps, in einem Brückenpaket je Produkt, FireMonkey-Versionen eingeschlossen.
TsgcVCLDashboardDesignPanel, TsgcFMXDashboardDesignPanelDas Panel des Laufzeit-Designers (nur Registered).
TsgcDashboardLayoutDie Layout-Engine, auch unter Linux64 verfügbar.
TsgcDashboardSource_WebSocket, _MQTT, _SSELive-KPI-Quellen der Brücke sgcDashboardWS (nur Registered).
ZielKomponentePlattformen
Delphi 7 bis 13, VCLTsgcVCLDashboardWin32 und Win64
Delphi XE6 bis 13, FireMonkeyTsgcFMXDashboardWindows, macOS, iOS und Android
C++ Builder 2007 bis 13TsgcVCLDashboard, TsgcFMXDashboardGenerierte .hpp-Header und statische Bibliotheken
Delphi 10.2 bis 13, frameworkneutralTsgcDashboardLayout, TsgcDashboardKPILinux64, Layout-Engine und Headless-KPI-Karten
.NET Framework 4.7.2, .NET 8, 9 und 10TsgcWinFormsDashboard, WPF- und Avalonia-GegenstückeWinForms, WPF und Avalonia

Häufig gestellte Fragen

Ja, in der registrierten Edition. AllowDrag und AllowResize lassen Benutzer Kacheln an der Kopfzeile verschieben und an einem Griff in der Größe ändern, und SaveLayoutToFile oder SaveLayout speichern das Ergebnis als JSON. LoadLayout stellt es über den Kachelnamen wieder her, sodass Layouts neue Versionen deiner Anwendung überstehen.

Jedes. Eine Kachel ist ein Container: Setze den Parent des Steuerelements auf die Kachel und richte es am Clientbereich aus. Die Suite-Demo hostet ein Diagramm, eine Karte, einen PDF-Viewer und eine Berichtsvorschau, und sgcUI-Steuerelemente in einer Kachel folgen dem Dashboard-Theme.

Ja. Jede integrierte Kachel braucht ihr Produkt und ihr Brückenpaket: Die Diagramm-Kachel braucht sgcCharts, die Gauge-Kachel sgcGauges, die Grid-Kachel sgcGrid, die Pivot-Kachel sgcPivotGrid und die Map-Kachel sgcMaps. Der Dashboard-Kern nutzt nie eine Produkt-Unit, weil sgcDashboard auch einzeln verkauft wird. sgcUI Enterprise enthält alle. In .NET ist jede Kachel, auch die Map-Kachel, für WinForms, WPF und Avalonia verfügbar. Siehe Integrierte Tiles.

Ja, in der Registered-Edition. Setze EditMode und docke ein Design-Panel neben das Dashboard: Benutzer fügen integrierte Kacheln aus einer Palette hinzu, verschieben, ändern und entfernen sie, bearbeiten ihre Eigenschaften und machen jeden Schritt rückgängig oder stellen ihn wieder her. SaveLayout speichert das Ergebnis, einschließlich der zur Laufzeit hinzugefügten Kacheln, und LoadLayout erzeugt sie neu. Die Demo Designer zeigt den ganzen Ablauf. Siehe Laufzeit-Designer.

Setze im Code Value und rufe AddValue auf, das threadsicher ist. Mit der registrierten Edition und sgcWebSockets lesen die Quellen von sgcDashboardWS per ValuePath eine Zahl aus jeder WebSocket-, MQTT- oder SSE-Nachricht und aktualisieren die Karte und ihren Trend für dich.

Die Dashboards und Kacheln, das Rasterlayout mit Auto-Flow, KPI-Karten mit Sparklines, PNG und SVG ohne Fenster, die Themes, die Datenquellen, die integrierten Kacheln, die responsiven Breakpoints und das KI-Routing. Nicht enthalten sind Ziehen und Größenändern zur Laufzeit, SaveLayout und LoadLayout, die Kreuzfilterung, der Laufzeit-Designer, die Filterantworten des KI-Routers und die Brücke sgcDashboardWS. Siehe Editionen.

Ja. TsgcFMXDashboard, seine Kacheln und die KPI-Karten laufen ab Delphi XE6 unter FireMonkey auf Windows, macOS, iOS und Android, mit derselben Layout-Engine wie das VCL-Dashboard. Größen sind geräteunabhängig und folgen der Formularskalierung.

Ja. TsgcDashboardKPI zeichnet eine Karte ohne Fenster und ohne VCL oder FireMonkey und schreibt PNG oder SVG in eine Datei oder einen Stream. Es baut auf jeder Plattform, Linux64 eingeschlossen, sodass ein Dienst oder Webserver die Bilder erzeugen kann.

Ja. Alle Größen sind geräteunabhängige Pixel. Das VCL-Dashboard skaliert sie mit der Monitor-PPI geteilt durch 96 und das FireMonkey-Dashboard mit der Formularskalierung, sodass Kacheln, Abstände und Zeilenhöhen auf jedem Monitor ihre Proportionen behalten.

sgcDashboard Hilfe

3,000+Entwickler
20+Jahre
761+Komponenten
30+API-Integrationen
5Plattformen
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordere innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen

sgcDashboard noch heute testen

Die sgcUI-Testversion enthält sgcDashboard und alle anderen sgcUI-Produkte.