Delphi、C++ Builder & .NET sgcUI の製品です

sgcDashboard、Delphi、C++ Builder & .NET 向けダッシュボードと KPI カード

レイアウトのコードなしで、業務ダッシュボードを作れます。12 列のグリッドにタイルを配置し、それぞれに KPI カード、チャート、地図、レポートプレビューを置き、プロパティ 1 つで画面全体をダークテーマに切り替え、ユーザーが自分でドラッグ、サイズ変更、レイアウトの保存をできるようにします。タイルランチャーで、アプリケーションにグループ化されたタイルのスタート画面を持たせられます。

VCL、FireMonkey、WinForms、WPF、Avalonia自動フロー付き 12 列のタイルグリッドKPI カードを PNG または SVG で出力。Linux64 にも対応sgcUI Professional に含まれます
Basic デモ: レスポンシブなグリッドにダッシュボードのタイルと KPI カード

ダッシュボードに必要なすべてを

8 つのグループに分けた 18 の機能です。実際のコンポーネント名とプロパティ名を示し、各ヘルプトピックにリンクしています。登録版と表示された機能は、無料の .NET Community ビルドには含まれません。

レイアウトとコンテンツ

タイルを自動で配置するグリッドと、数値を表示するカードです。

12 列のグリッドに 6 つのタイルと 4 つの KPI カードを配置した sgcDashboard の Basic デモ

レイアウトとコンテンツ

レイアウトのコードが不要なレスポンシブなタイルグリッド

ダッシュボードは、どのウィンドウサイズでもどの DPI でも整った状態を保つタイルのグリッドです。フォームにダッシュボードを配置し、タイルを追加して、それぞれに列、行、スパンを指定します。グリッドは使用可能な幅から列幅を計算し、モニターの DPI に合わせて間隔と行の高さを拡大縮小し、タイルが収まらないほどの行数になると縦にスクロールします。重なったタイルは 1 行ずつ押し下げられ、重なって表示されることはありません。レイアウトは 1 つのエンジンで処理されるため、同じタイルのセルは、VCL、FireMonkey、.NET の各ビューで同じ配置になります。

  • TsgcVCLDashboard の Columns(既定は 12)、RowHeight(120)、Gap、Padding(12)
  • TsgcVCLDashboardTile の Col、Row、ColSpan、RowSpan
  • 非表示のタイル(Visible が False)はセルを占有しません
  • 配置されたセルと矩形は Layout.PlacedCell と Layout.Rect から読み取れます
ヘルプのトピックを読む
スパークライン付きの KPI タイル 4 つ、イベントログ、サーバー一覧を表示したダッシュボード

レイアウトとコンテンツ

タイルを追加すると、自動フローが配置します

ダッシュボードの内容がユーザーやデータに依存する場合、座標を計算したくはありません。タイルの列と行を -1 のままにすると、自動フローが、上の行から左の列へとスキャンして、最初の空きスロットに置きます。列だけを固定すると、タイルはその列の最初の空き行に入ります。固定のタイルと自動フローのタイルは、同じダッシュボードで混在できます。

  • AutoFlow は既定でオンです。新しいタイルは Col と Row が -1、スパンが 3 x 2 で始まります
  • 明示的なセルが先に配置され、自動フローのタイルが残りの空間を埋めます
  • スパンは、タイルが最後の列を越えないように調整されます
  • 同じレイアウトエンジン TsgcDashboardLayout が、VCL、FireMonkey、.NET を動かします
  • アラビア語とヘブライ語の右から左対応:タイルは右から並び、タイルヘッダーと KPI カードがミラー化され、トレンド矢印とスパークラインは向きを保ちます
ヘルプのトピックを読む
地図、PDF ビューアー、レポートプレビューを配置したダッシュボードのタイル

レイアウトとコンテンツ

タイルには任意のコントロールを置けます

タイルは、省略可能なヘッダーを持つコンテナーなので、チャート、グリッド、地図、PDF ビューアー、レポートプレビュー、単純なメモなど、画面に必要なものを何でも置けます。コントロールの親をタイルに設定し、クライアント領域に配置します。Suite デモは、sgcCharts、sgcMaps、sgcPDF、sgcReports を 1 つのダッシュボードに配置し、すべてがダッシュボードのテーマに従います。タイルはヘッダーを外して余白のないチャートにすることも、タイトルバーとして残すこともできます。タイルを追加するとダッシュボードは行が増え、縦にスクロールします。

  • すべてのタイルの Title と ShowHeader
  • ParentTheme で、タイルをダッシュボードに従わせるか、独自の Theme を持たせるかを選べます
  • タイル内の sgcUI コントロールは、ライトまたはダークのテーマを自動で引き継ぎます
  • FireMonkey では TsgcFMXDashboardTile でも同様に動作します
ヘルプのトピックを読む
値、トレンド矢印、スパークラインを表示した 4 つの KPI カード

レイアウトとコンテンツ

トレンドとスパークライン付きの KPI カード

どのダッシュボードも、売上、受注、解約、応答時間といった重要な数値の行から始まります。KPI カードは、大きな値、アイコン、トレンド矢印とそのテキスト、フッターの行、直近の値の小さなスパークラインを、1 つのコンポーネントで表示します。新しい値が届くたびに AddValue を呼ぶとスパークラインがスクロールし、MaxPoints で保持する履歴の長さを決めます。AccentColor でカードの色を測定対象に合わせられ、カードは配置先のダッシュボードのライトまたはダークのテーマに従います。

  • TsgcVCLKPICard の Title、Value、Icon、FooterText、AccentColor
  • Trend: ktUp、ktDown、ktNeutral。TrendValue のテキスト付き
  • スパークライン用の AddValue、ClearValues、MaxPoints
  • AddValue はスレッドセーフなので、ワーカースレッドから値を渡せます
ヘルプのトピックを読む

レイアウトとコンテンツ

スタート画面のためのタイルランチャー

多くのアプリケーションは、スタート画面から始まります。モジュールごとに 1 つのタイルを置き、分野ごとにグループ化し、中で待っている件数を表示します。タイルランチャーは、その画面を 1 つのコントロールで描画します。タイルは小、中、ワイド、大の 4 種類のサイズがあり、キャプション付きのグループに詰めて配置されるため、大きなタイルの後ろにできた隙間は、続く小さなタイルで埋まります。グループは横に並べて横スクロールにすることも、縦に積んで縦スクロールにすることもでき、ランチャー全体がライトまたはダークのテーマに従います。

  • TsgcVCLDashboardTileLauncher と TsgcFMXDashboardTileLauncher、.NET では TsgcWinFormsDashboardTileLauncher、TsgcWpfDashboardTileLauncher、TsgcAvaloniaDashboardTileLauncher
  • Groups と Tiles。Caption、Subtitle、Size (dtsSmall、dtsMedium、dtsWide、dtsLarge)、Color、ImageIndex、ピル形状で描画される Badge を持ちます
  • Orientation、CellSize、Spacing、GroupColumns、GroupSpacing でレイアウトを調整します
  • クリック、Enter、Space で OnTileClick が発生します。矢印キーでグループをまたいでタイル間を移動でき、Home と End で最初と最後のタイルへ移動します
  • スクリーンリーダーは呼び出せるタイルのリストとして認識し、SaveToPNG はフォームなしでランチャーを描画します

タイルランチャーは Community を含むすべてのエディションに含まれます。

ヘルプのトピックを読む

組み込みタイル、データソース、クロスフィルター

1 つのデータソースから自動で内容が埋まり、クリックひとつで互いに絞り込むタイルです。

SalesExplorer デモ:ヨーロッパ地域で絞り込んだチャート、ゲージ、グリッド、地図、ピボットのタイルと、グリッドの上のフィルターバー

組み込みタイル

自動で内容が埋まるチャート、ゲージ、グリッド、ピボット、地図のタイル

ほとんどのダッシュボードは、同じ行を 5 通りに表示します。地域別の売上をチャートで、合計をゲージで、レコードをグリッドで、製品別のピボットで、顧客を地図で表示します。組み込みタイルには、最初からコントロールが入っています。データソースと列を設定すれば、行のグループ化、合計、一覧表示はタイルが行い、データをコントロールへ移すコードは不要です。組み込みタイルもタイルなので、ヘッダー、セル、テーマを持ち、ユーザーは他のタイルと同じように移動、サイズ変更、保存、読み込みができます。

  • TsgcVCLDashboardChartTile、GaugeTile、GridTile、PivotTile、MapTile。FireMonkey でも同じ名前です
  • DataSource と、タイル用にグループ化と集計を行った読み取り専用の View
  • 製品のコントロールは公開されている(Chart、Gauge、Grid、Pivot、Map)ので、いつもどおりスタイルを設定できます
  • ワーカースレッドが追加した行は、タイルがメインスレッドへ移します

各タイルには、対応する sgcUI 製品とそのブリッジパッケージが必要です。sgcCharts、sgcGauges、sgcGrid、sgcPivotGrid、sgcMaps のいずれかです。タイルは Community を含むすべてのエディションに含まれます。.NET では、チャート、ゲージ、グリッド、ピボット、地図のタイルが WinForms、WPF、Avalonia で使えます。

ヘルプのトピックを読む

データソース

1 つのデータソースですべてのタイルに値を供給

数値が 1 つのクエリから来る場合、すべてのタイルが同じ行を表示する必要があります。TsgcDashboardDataSource は行を 1 回だけ保持し、任意の数のタイルがそれぞれ独自のビューで読み取ります。チャートは 1 つの列でグループ化し、ゲージは別の列を合計し、グリッドは行を一覧表示します。自分の行を追加する、データセットをコピーする、sgcGrid または sgcPivotGrid のテーブルを接続して変更に追従する、のいずれかで内容を埋められます。多数の変更を 1 回の更新にまとめれば、タイルの更新も 1 回で済みます。

  • Columns、AppendRow、Clear、BeginUpdate、EndUpdate
  • LoadFromDataSet は TDataSet をコピーします。.NET では LoadFrom が DataTable を受け取ります
  • Table は、グリッドやピボットグリッドなど任意の IsgcUITable を接続します
  • ビューは合計、件数、平均、最小、最大、または集計なしで動作し、スレッドセーフです

データソースはフレームワークに依存せず、すべてのエディションに含まれます。

ヘルプのトピックを読む

クロスフィルター 登録版のみ

1 本のバーをクリックすると、他のすべてのタイルが追従

営業責任者は、ヨーロッパが遅れていることに気づき、詳細を知りたくなります。クロスフィルターでは、ヨーロッパのバーをクリックすると、同じデータソースの他のすべてのタイルが絞り込まれます。ゲージはヨーロッパの行を合計し、グリッドはそれを一覧表示し、ピボットは製品別に表示し、地図はそのマーカーだけを残します。クリックしたチャートは、すべてのバーを保ちます。グリッドの上のフィルターバーには、条件ごとのチップと「すべてクリア」チップが表示され、同じバーをもう一度クリックするとフィルターが解除されます。

  • チャートのポイント、グリッドのセル、ピボットの行、地図のマーカーが条件を生成し、ゲージはそれに追従します
  • 異なるフィールドの条件は AND で結合されます
  • ダッシュボードの ShowFilterBar、ClearFilters、OnFilterChanged
  • タイルごとの CrossFilterSource と CrossFilterTarget、コード用のデータソースの Filter

フィルターバーは印刷もエクスポートもされません。クロスフィルターは登録版に含まれ、Community 版には含まれません。

ヘルプのトピックを読む

レスポンシブレイアウトと実行時デザイナー

狭い画面では列数を減らし、ユーザー自身がダッシュボードを作成できます。

レスポンシブレイアウト

デスクトップでは 12 列、スマートフォンでは 4 列

幅の広いモニター向けに設計したダッシュボードは、狭いウィンドウやスマートフォンでは読みにくくなります。ブレークポイントを有効にすると、ダッシュボードは自身の幅に応じてサイズクラスを選びます。広いクラスは Columns を使い、中間とコンパクトのクラスはより少ない列と独自のセルを使います。既定では各スパンが自動で拡大縮小されるため、ほとんどのダッシュボードで追加の設定は不要です。また、スマートフォンで大きな地図を隠すなど、特定のクラスだけでタイルを非表示にできます。

  • Breakpoints.Enabled、CompactWidth(600)、MediumWidth(1024)、CompactColumns(4)、MediumColumns(8)
  • タイルごとの CompactCell と MediumCell、クラスごとの Visible
  • ActiveBreakpoint と OnBreakpointChanged
  • 印刷と PDF では、ページの幅に合わせてタイルを配置します

ブレークポイントはすべてのエディションに含まれ、既定では無効です。Community 版には SaveLayout がないため、ブレークポイントは動作しますが保存されません。

ヘルプのトピックを読む

実行時デザイナー 登録版のみ

ユーザーが自分のダッシュボードを作成、元に戻す操作にも対応

部署ごとに、少しずつ異なるダッシュボードが求められます。リクエストのたびに 1 つずつ納品する代わりに、ユーザー自身に作成してもらいましょう。編集モードでは各タイルを移動してサイズ変更でき、クリックで選択できます。デザインパネルは、パレットから組み込みタイルを追加し、選択したタイルのプロパティを編集し、削除し、直前の操作を元に戻す、やり直す、ができます。結果を SaveLayout で保存すれば、実行時に追加したタイルが設定とデータソースとともに戻ります。

  • ダッシュボードの EditMode、SelectedTile、AddTile、RemoveTile
  • Undo、Redo、CanUndo、CanRedo(50 ステップ)。編集モードでは Ctrl+Z、Ctrl+Y、Delete
  • TsgcVCLDashboardDesignPanel と TsgcFMXDashboardDesignPanel。WinForms、WPF、Avalonia にも対応するものがあります
  • OnTileAdded、OnTileRemoving、OnSelectionChanged

実行時デザイナーは登録版に含まれ、Community 版には含まれません。

ヘルプのトピックを読む

ダッシュボードに質問

すべてのタイルに対して 1 つの AI クエリバーを使え、値はアプリケーション内にとどまります。

ダッシュボードに質問

質問を入力すると、適切なタイルが答える

ユーザーは、答えが入っているタイルを探したくありません。AI クエリバーをダッシュボードのルーターに接続すれば、1 つのボックスで画面全体を扱えます。ルーターは質問が指しているタイルを選び、表示領域の前面に移動して、グリッドまたはピボットのエンジンに質問を渡します。チャート、ゲージ、地図のタイルも対象です。ゲージと KPI カードはタイトルと値でローカルに回答し、チャートや地図のタイルは表示されてフォーカスを受け取ります。登録版では、「West 地域の売上を表示」のような質問で、クロスフィルター Region = West も設定されます。

  • TsgcVCLDashboardAI と TsgcFMXDashboardAI。.NET では TsgcWinFormsDashboardAI、TsgcWpfDashboardAI、TsgcAvaloniaDashboardAI
  • タイルの種類:グリッド、ピボット、KPI、チャート、ゲージ、地図、データ
  • フィルター付きの回答には LastFilter と ApplyFilters。Undo でフィルターを解除します
  • プロバイダーがなければ、ローカルのルールベースのルーターがタイルを選びます

プライバシー:プロバイダーが見るのは、質問、タイルのタイトルと種類、列名です。KPI カードの値、ゲージの値、列の値がアプリケーションの外に出ることはなく、提案されたフィルター値はデータに対してローカルで検証されます。ルーターはすべてのエディションに含まれ、フィルター付きの回答は登録版に含まれます。

ヘルプのトピックを読む

ユーザーのレイアウトとライブデータ

ユーザーが自分のスタートページを配置して保存でき、ネットワークからデータを渡せます。

ユーザーのレイアウトとライブデータ 登録版のみ

ユーザーがタイルをドラッグしてサイズ変更

共有のスタートページでは、ユーザーごとに前面に置きたい数値が違います。ドラッグをオンにすると、ユーザーはヘッダーでタイルを動かせます。サイズ変更をオンにすると、隅のグリップでスパンを変えられます。マウスの移動中は、対象のセルがタイルの下に描画され、タイルはグリッドに吸着します。Esc キーでキャンセルします。ロックしたタイルは動きません。後述のレイアウトの保存と組み合わせれば、どのユーザーも自分で配置したスタートページを保持でき、どのタイルを用意するかはお客様が決められます。

  • ダッシュボードの AllowDrag と AllowResize
  • タイルの Locked で、その場所に固定します
  • OnLayoutChanged は、ドラッグやサイズ変更のたびに発生します
  • FireMonkey のダッシュボードでも同じ動作です

Community 版では、コードから固定のレイアウトを作成します。実行時のドラッグとサイズ変更は登録版の機能です。

ヘルプのトピックを読む

ユーザーのレイアウトとライブデータ 登録版のみ

ユーザーごとのレイアウトを保存して復元

ユーザーが配置したレイアウトは、再起動後も元に戻る必要があります。1 回の呼び出しで、グリッドの寸法と、名前を持つ各タイルのセルと表示状態をコンパクトな JSON として書き出し、もう 1 回の呼び出しで適用します。タイルは名前で照合され、不明な名前は無視され、テキストにないタイルは元のセルを保つため、新しいバージョンでタイルを追加しても、古い保存済みレイアウトを読み込めます。JSON は小さくて読みやすいので、既定のレイアウトをアプリケーションに同梱し、それを再び読み込むリセットボタンを用意できます。

  • SaveLayout と LoadLayout は、JSON 文字列を返し、適用します
  • SaveLayoutToFile、LoadLayoutFromFile、SaveLayoutToStream、LoadLayoutFromStream
  • 保存時は BOM なしの UTF-8、読み込み時は BOM をスキップします
  • 文字列は、ユーザーごとにファイル、レジストリ、データベースに保存してください
ヘルプのトピックを読む

ユーザーのレイアウトとライブデータ 登録版のみ

ネットワークから直接取り込むライブ KPI

運用画面には、1 秒ごとに変わる値が表示されます。sgcDashboardWS ブリッジは、sgcWebSockets クライアントの JSON メッセージごとに数値を読み取り、スパークラインを含めてカードに反映します。トレンド矢印は、直前の値に自動で追従します。Delphi 2010 以降では、テキストの更新がメインスレッドで実行されるので、クライアントはどのスレッドモードでも使えます。有効な JSON でないメッセージや、パスが数値でないメッセージは無視されるため、ノイズの多いフィードで画面が壊れることはありません。

  • TsgcDashboardSource_WebSocket、TsgcDashboardSource_MQTT(Topic 付き)、TsgcDashboardSource_SSE
  • ValuePath(例: data.items[0].value)、ValueFormat(既定は %.2f)
  • TitlePath と TrendValuePath で、さらに多くのフィールドをカードにコピーします
  • 更新のたびに OnValue イベントが発生します

ブリッジには sgcWebSockets が必要です。Community では、Value と AddValue を使って、コードからカードに値を渡してください。

ヘルプのトピックを読む

テーマ、画像、プラットフォーム

画面全体で統一された見た目、画像としての同じカード、すべてのターゲットで同じデザインです。

ダークテーマで、KPI スパークライン、ライブチャート、地図、PDF ビューアー、レポートプレビューを表示した sgcDashboard のタイル

テーマ、画像、プラットフォーム

1 つのプロパティでダッシュボード全体にテーマを適用

暗い制御室と明るいオフィスでは、同じ画面を 2 つの見た目で使い分ける必要があります。ダッシュボードのテーマを設定すると、すべてのタイル、すべての KPI カード、その中の sgcUI コントロールに反映され、チャート、ゲージ、グリッドがまとめて切り替わります。テーマの型は sgcUI のすべての製品で共通なので、アプリケーション全体を 1 つの設定に従わせられます。目立たせたいタイルは独自のテーマを保ち、ダッシュボードのほかの部分はグローバルのテーマに従わせることもできます。

  • ダッシュボードの Theme := utDark または utLight
  • タイルは ParentTheme で追従するか、独自の Theme を保ちます
  • KPI カードとヘッドレスの KPI 画像は、同じパレットを使います
  • 昼夜の切り替えなどから、実行時に変更できます
ヘルプのトピックを読む

テーマ、画像、プラットフォーム

メールと Web 向けの画像としての KPI カード

ダッシュボードの数値は、朝のレポートメール、イントラネットのページ、PDF など、別の場所でも必要になることがよくあります。TsgcDashboardKPI は、ウィンドウも VCL や FireMonkey も使わずに同じカードをレンダリングするため、コンソールプログラム、Windows サービス、Linux64 サーバーで生成できます。幅と高さは論理ピクセルで、スケール係数を指定すると鮮明な高 DPI 画像になります。定期レポートに使えます。ダッシュボードと同じクエリでカードを作り、画像をメッセージに添付してください。

  • SaveToPNG でファイルまたはストリームへ保存します。たとえば、幅 320、高さ 160 をスケール 2 にすると、640 x 320 の画像になります
  • SaveToSVG で、くっきりしたベクター出力を得られます
  • Card.KPI.SaveToPNG は、画面上のカードの表示内容を保存します
  • Linux64 を含むすべてのプラットフォームでビルドできます
ヘルプのトピックを読む

テーマ、画像、プラットフォーム

デスクトップ、モバイル、.NET で同じダッシュボード

ダッシュボードを一度書けば、デザインを再利用できます。FireMonkey のダッシュボード、タイル、KPI カードは Windows、macOS、iOS、Android で動作し、.NET 版は WinForms、WPF、Avalonia 向けに同じクラスを提供します。すべての環境で 1 つのレイアウトエンジンがセルを計算するため、保存したレイアウトはどのターゲットでも同じ意味を持ちます。デモはどのターゲットにも同じセットを用意しています。Delphi と C++ Builder 向けには Basic、LiveKPI、SaveLayout、Suite、.NET 向けには WinForms、WPF、Avalonia の各版です。

  • TsgcFMXDashboard、TsgcFMXDashboardTile、TsgcFMXKPICard, TsgcFMXDashboardTileLauncher
  • TsgcWinFormsDashboard、TsgcWinFormsKPICard、およびそれぞれに対応する WPF 版と Avalonia 版
  • Delphi 7 から 13 の VCL、XE6 以降の FireMonkey、C++ Builder 2007 から 13
  • .NET Framework 4.7.2、.NET 8、.NET 9、.NET 10
ヘルプのトピックを読む

アクセシビリティ

スクリーンリーダー、キーボード、ハイコントラスト向けの UI Automation を、設定なしで使えます。

アクセシビリティ

マウスなしでタイルを移動し、並べ替える

sgcDashboard は、ダッシュボードとそのタイルを、タイトルと位置、各タイルにホストされたコントロール、タイトル、値、単位、傾向を持つ KPI カードとともに Microsoft UI Automation に公開します。

  • 矢印キーでタイル間を移動し、Home と End で最初または最後のタイルへ移動し、Enter でフォーカスをフォーカスされたタイルの中へ移します
  • ダッシュボードがロックされていない限り、Ctrl+Shift+矢印キーでタイルを移動 (AllowDrag) し、Alt+Shift+矢印キーでサイズを変更 (AllowResize) します
  • ダッシュボードはタブストップで、表示されるフォーカスリングを備えます
  • Windows のハイコントラストテーマでは、タイルのクロムはシステムカラーを使い、KPI カードのアクセントカラーと傾向の色はシステムカラーに置き換えられます

アクセシビリティは、無料の Community 版を含むすべてのエディションで既定で有効です。VCL では Delphi 7 から Delphi 13 までのすべての Delphi と C++Builder のバージョンで、FireMonkey では Windows で、そして WinForms、WPF、Avalonia で使えます。 Delphi と C++Builder では、AccessibleName と AccessibleDescription が UI Automation に公開される名前と説明を設定し、.NET では各フレームワーク標準のアクセシブルな名前とヘルプテキストが同じ役割を果たします。アクセシビリティ適合レポートを参照してください。

ヘルプのトピックを読む

sgcDashboard の動作を見る

sgcUI スイートのデモに含まれる sgcDashboard:組み込みのシミュレーションデータでオフラインで動作する完全なアプリケーションです。

sgcDashboard の主な利用シーン

ERP の経営ダッシュボードと営業ダッシュボード

ERP のスタートページには、売上、未処理の受注、期限超過の請求書、解約を、トレンド矢印付きの KPI カードで表示し、その下のタイルに営業チャートと上位顧客のグリッドを配置します。毎晩、サービスが同じカードを経営陣向けメールの PNG としてレンダリングし、画面と同じ数値と色になります。

  • KPI カード
  • タイル内の任意のコントロール
  • ヘッドレスの KPI 画像
  • テーマ
Suite デモを実行する

運用と IoT の制御室

工場の壁面スクリーンに、ラインのスループット、温度、アラームの件数を表示します。MQTT ソースが測定値を届くたびにカードへ反映し、スパークラインが直近の数分を示し、ダークテーマが夜間の室内を落ち着いた状態に保ちます。隣のタイルのゲージやチャートも同じテーマに従います。

  • MQTT ソース
  • スパークライン
  • ダークテーマ
  • タイル内のゲージ
LiveKPI デモを実行する

デスクトップ SaaS クライアントのパーソナルなスタートページ

多くの役割が使うデスクトップクライアントでは、ユーザーごとに大切なタイルを上へドラッグし、最もよく見るチャートのサイズを変え、それ以外を非表示にします。レイアウトはユーザーごとに JSON として保存され、次回のログインで復元されます。アップデートで追加された新しいタイルは、空いている場所に自動で流れ込みます。

  • ドラッグとサイズ変更
  • SaveLayout と LoadLayout
  • 自動フロー
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;

ヘルプのトピックを読む →

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

ヘルプのトピックを読む →

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

ヘルプのトピックを読む →

sgcDashboard のデモを実行する

Delphi と C++ Builder 向けの 6 つのデモと .NET 向けの 10 のデモが、すべてコンパイル済みデモのダウンロードに含まれています。

Basic

Basic

12 列のグリッドに 6 つのタイルと 4 つの KPI カードを配置し、ほかのタイルにログとリストを置いています。レイアウトエンジンとテーマの切り替えを最も手軽に確認できます。

登録版のみ LiveKPI

sgcDashboardWS ブリッジから値を受け取る KPI カードです。メッセージが届くたびに値が更新され、スパークラインが伸びます。sgcWebSockets が必要です。

登録版のみ SaveLayout

ヘッダーでタイルをドラッグし、グリップでサイズを変更し、レイアウトを JSON に保存します。デモを再起動すると、復元されることを確認できます。

Suite

ほかの sgcUI 製品のチャート、地図、PDF ビューアー、レポートプレビュー、KPI カードを、テーマ付きの 1 つのダッシュボードに配置します。

SalesExplorer

SalesExplorer

204 行の売上データを持つ 1 つのデータソースが、チャート、ゲージ、グリッド、ピボット、地図のタイルに値を供給します。地域のバー、グリッドのセル、ピボットの行、地図のマーカーのいずれかをクリックすると、他のタイルがフィルターに追従します(登録版)。ウィンドウを狭めると、タイルが並び替わります。Delphi VCL と C++ Builder、.NET では SalesExplorer(WinForms)と SalesExplorerWpf。sgcCharts、sgcGauges、sgcGrid、sgcPivotGrid、sgcMaps が必要です。

登録版のみ Designer

実行時デザイナーです。デザインパネルのパレットから組み込みタイルを追加し、編集モードで移動とサイズ変更を行い、プロパティを編集し、削除し、元に戻す、やり直す、を行って、ダッシュボードを JSON として保存します。Delphi VCL と C++ Builder、.NET では DashboardDesigner(WinForms)と DashboardDesignerWpf。

TileLauncher

3 つのグループと、あらゆるサイズのタイル、サブタイトル、バッジ、無効なタイルを備えたスタート画面です。ステータス行には、マウス、Enter、Space でクリックしたタイルが表示され、2 つのコンボボックスで向きとテーマを切り替えられます。TileLauncherFMX は FireMonkey で同じことを行います。

.NET デモ

WinForms、WPF、Avalonia 向けの Basic、BasicWpf、BasicAvalonia、LiveKPI、SaveLayout、Suite、SalesExplorer、SalesExplorerWpf、DashboardDesigner、DashboardDesignerWpf、TileLauncher、TileLauncherWpf、TileLauncherAvalonia。

コンパイル済みデモ

sgcUI 全製品のすぐに実行できる実行ファイルです。インストールは不要です。

sgcUI_bin.zip をダウンロード →

Getting Started ガイド

Delphi (VCL) 向けの QuickStart デモ 5 つが Demos\Dashboard\Delphi\00.QuickStart に入っています。PDF ガイドが、それらを順を追って解説します。KPI カードを使った最初のダッシュボード、12 列のタイルグリッド、ライブデータ、テーマ、チャートタイルを備えた売上ダッシュボード。

ガイドをダウンロード(PDF、英語) →

sgcDashboard が含まれるエディション

sgcDashboard は sgcUI Professional と Enterprise に含まれ、単体でも販売しています。All-Access バンドルにも含まれます。

sgcDashboard 単体パッケージ

€199 / 開発者、ソースコード一式、1 年間のアップデート付き。

sgcDashboard を購入 → 価格を見る →

sgcUI Professional

Standard に加えて sgcDashboard、sgcCharts、sgcGauges、€529 から。

Professional を見る →

sgcUI Enterprise

sgcUI 全 17 製品、€699 から。

Enterprise を見る →

無料の Community 版(NuGet の esegece.sgcDashboard.Community)には、グリッド、タイル、スパークライン付き KPI カード、ヘッドレスの PNG と SVG、テーマ、データソース、組み込みタイル、レスポンシブなブレークポイント、すべてのタイルへの AI ルーティングが含まれます。実行時のドラッグとサイズ変更、SaveLayout と LoadLayout(そのためレイアウトは保存されません)、クロスフィルター、実行時デザイナー、「ダッシュボードに質問」のフィルター付き回答、sgcDashboardWS ブリッジは含まれません。組み込みタイルには、どのエディションでも、対応する sgcUI 製品とそのブリッジパッケージが必要です。

機能Community(無料)登録版
スパンと自動フロー付きのタイルグリッド✓✓
トレンドとスパークライン付きの KPI カード✓✓
ライトテーマとダークテーマ✓✓
PNG と SVG のヘッドレス KPI カード✓✓
グループ化されたタイル、バッジ、キーボード操作に対応したタイルランチャー✓✓
チャート、ゲージ、グリッド、ピボット、地図の組み込みタイル(それぞれ該当する sgcUI 製品が必要)✓✓
複数のタイルで共有するデータソース✓✓
レスポンシブなブレークポイント✓ (保存されません)✓
「ダッシュボードに質問」のすべてのタイルへのルーティング✓✓
フィルターバー付きのクロスフィルター−✓
デザインパネルと元に戻す機能付きの実行時デザイナー−✓
「ダッシュボードに質問」のフィルター付き回答−✓
タイルの実行時のドラッグとサイズ変更−✓
SaveLayout と LoadLayout−✓
sgcDashboardWS のライブソース(WebSocket、MQTT、SSE)−✓

対応フレームワークとプラットフォーム

sgcDashboard のコンポーネント

Component概要
TsgcVCLDashboard, TsgcFMXDashboardVCL と FireMonkey 向けのグリッドコンテナーです。
TsgcVCLDashboardTile, TsgcFMXDashboardTile任意のコントロールを置けるタイトル付きのタイルです。
TsgcVCLKPICard, TsgcFMXKPICardトレンド、フッター、スパークライン付きの KPI カードです。
TsgcDashboardKPIフレームワークに依存しない、PNG と SVG の出力に対応したヘッドレスの KPI カードです。
TsgcVCLDashboardTileLauncher, TsgcFMXDashboardTileLauncherキャプション付きのグループに 4 種類のサイズのタイルを並べたスタート画面で、バッジ、スクロール、キーボード操作に対応します。
TsgcDashboardTileLauncherフレームワークに依存しない、タイルランチャーのモデルとレンダラーで、ヘッドレスの PNG 出力に対応します。
TsgcDashboardDataSource組み込みタイルに値を供給する、フレームワーク非依存のデータソースです。
TsgcVCLDashboardChartTile, GaugeTile, GridTile, PivotTile, MapTilesgcCharts、sgcGauges、sgcGrid、sgcPivotGrid、sgcMaps のコントロールを持つ組み込みタイルです。製品ごとに 1 つのブリッジパッケージで、FireMonkey 版を含みます。
TsgcVCLDashboardDesignPanel, TsgcFMXDashboardDesignPanel実行時デザイナーのデザインパネルです(登録版のみ)。
TsgcDashboardLayoutLinux64 でも使えるレイアウトエンジンです。
TsgcDashboardSource_WebSocket, _MQTT, _SSEsgcDashboardWS ブリッジのライブ KPI ソースです(登録版のみ)。
TargetComponent対応プラットフォーム
Delphi 7 から 13、VCLTsgcVCLDashboardWin32 と Win64
Delphi XE6 から 13、FireMonkeyTsgcFMXDashboardWindows、macOS、iOS、Android
C++ Builder 2007 から 13TsgcVCLDashboard, TsgcFMXDashboard生成された .hpp ヘッダーと静的ライブラリ
Delphi 10.2 から 13、フレームワークに依存しませんTsgcDashboardLayout, TsgcDashboardKPILinux64、レイアウトエンジンとヘッドレスの KPI カード
.NET Framework 4.7.2、.NET 8、9、10TsgcWinFormsDashboard と、WPF 版、Avalonia 版WinForms、WPF、Avalonia

よくある質問

はい、登録版で可能です。AllowDrag と AllowResize により、ユーザーはヘッダーでタイルを動かし、グリップでサイズを変えられ、SaveLayoutToFile または SaveLayout が結果を JSON として保存します。LoadLayout はタイル名で復元するため、アプリケーションの新しいバージョンでもレイアウトが引き継がれます。

どのコントロールでも置けます。タイルはコンテナーなので、コントロールの親をタイルに設定し、クライアント領域に配置します。Suite デモは、チャート、地図、PDF ビューアー、レポートプレビューを配置し、タイル内の sgcUI コントロールはダッシュボードのテーマに従います。

はい。各組み込みタイルには、それぞれの製品とブリッジパッケージが必要です。チャートタイルは sgcCharts、ゲージタイルは sgcGauges、グリッドタイルは sgcGrid、ピボットタイルは sgcPivotGrid、地図タイルは sgcMaps です。sgcDashboard は単独でも販売されるため、ダッシュボード本体が製品のユニットを使うことはありません。sgcUI Enterprise にはすべてが含まれます。.NET では、地図タイルを含むすべてのタイルが WinForms、WPF、Avalonia で使えます。組み込みタイルをご覧ください。

はい、登録版で可能です。EditMode を設定し、ダッシュボードの横にデザインパネルをドッキングします。ユーザーはパレットから組み込みタイルを追加し、移動、サイズ変更、削除を行い、プロパティを編集して、各ステップを元に戻す、やり直すことができます。SaveLayout は、実行時に追加したタイルを含む結果を保存し、LoadLayout がそれらを再作成します。Designer デモで一連の流れを確認できます。実行時デザイナーをご覧ください。

コードからは、Value を設定して AddValue を呼びます。これはスレッドセーフです。登録版と sgcWebSockets を組み合わせると、sgcDashboardWS のソースが WebSocket、MQTT、SSE のメッセージごとに ValuePath で数値を読み取り、カードとそのトレンドを更新します。

ダッシュボードとタイル、自動フロー付きのグリッドレイアウト、スパークライン付きの KPI カード、ヘッドレスの PNG と SVG、テーマ、データソース、組み込みタイル、レスポンシブなブレークポイント、AI ルーティングが含まれます。実行時のドラッグとサイズ変更、SaveLayout と LoadLayout、クロスフィルター、実行時デザイナー、AI ルーターのフィルター付き回答、sgcDashboardWS ブリッジは含まれません。エディションをご覧ください。

はい。TsgcFMXDashboard、そのタイル、KPI カードは、Delphi XE6 以降の FireMonkey で、Windows、macOS、iOS、Android 上で動作し、VCL のダッシュボードと同じレイアウトエンジンを使います。サイズはデバイスに依存せず、フォームのスケールに従います。

はい。TsgcDashboardKPI は、ウィンドウも VCL や FireMonkey も使わずにカードを描画し、PNG または SVG をファイルやストリームに書き出します。Linux64 を含むすべてのプラットフォームでビルドできるので、サービスや Web サーバーで画像を生成できます。

はい。すべてのサイズはデバイスに依存しないピクセルです。VCL のダッシュボードはモニターの PPI を 96 で割った値で、FireMonkey のダッシュボードはフォームのスケールで拡大縮小するため、どのモニターでも、タイル、間隔、行の高さの比率が保たれます。

sgcDashboard のヘルプ

3,000+開発者
20+年
761+コンポーネント
30+API 連携
5プラットフォーム
30日間返金保証ご満足いただけない場合は、ご購入から30日以内に全額返金をリクエストできます。 返金ポリシーを見る

sgcDashboard を今すぐお試しください

sgcUI 体験版には、sgcDashboard とそのほかのすべての sgcUI 製品が含まれます。