チャートAPI参照
このページはPowerPortalsProチャートライブラリ内のすべての公開クラス、インターフェース、列挙をドキュメント化しています。
構成要素
チャートをレンダリングするBlazorのコンポーネントです。
FluentUIChart
ベース Chart コンポーネントをテーマ認識したラッパーを配置しています。アクティブなFluent UIデザイントークンから色を読み込み、Fluent派生パレットからデータセットの色を自動的に塗りつぶし、ユーザーがライトモードとダークモードを切り替えるとチャートのテーマを再設定します。
FluentUIChart クラス
パラメータ
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
Datasets | List<ChartDataset> | ||
EnableAnimation | bool | True | |
Height | string? | 400px | |
Labels | List<string> | ||
LegendPosition | ChartLegendPosition? | ||
Orientation | ChartOrientation? | ||
ShowBorder | bool | True | |
Stacked | bool | False | |
Title | string? | ||
Type | ChartType | Bar | |
Width | string? | ||
XAxisPrefix | string? | ||
XAxisSuffix | string? | ||
YAxisPrefix | string? | ||
YAxisSuffix | string? |
DatasetsEnableAnimationHeightLabelsLegendPositionOrientationShowBorderStackedTitleTypeWidthXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixイベント
名称 | 種類 | 概要 |
|---|---|---|
OnElementClick | EventCallback<ChartClickEventArgs> |
OnElementClick方法
名称 | パラメータ | 種類 | 概要 |
|---|---|---|---|
ExportAsImageAsync | Task<string> |
ExportAsImageAsyncDataverseChart
FluentUIChartをラップし、データロードのライフサイクルを所有する利便性コンポーネントです。DataverseChartDataSourceを受け付け、読み込み状態、エラー表示を処理し、オプションでリフレッシュボタンを提供します。
DataverseChart クラス
パラメータ
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
AggregationIndex | int | 0 | |
CrossFilterMode | ChartCrossFilterMode | Highlight | |
DataSource | ViewDataSource? | ||
DefaultViewId | Guid? | ||
EnableAnimation | bool | True | |
Height | string? | 400px | |
LegendPosition | ChartLegendPosition? | ||
Orientation | ChartOrientation? | ||
ShowBorder | bool | True | |
ShowExportButton | bool | True | |
ShowRefreshButton | bool | True | |
Source | DataverseChartDataSource? | ||
Stacked | bool | False | |
Title | string? | ||
Type | ChartType | Bar | |
ViewIds | List<Guid>? | ||
Width | string? | ||
XAxisPrefix | string? | ||
XAxisSuffix | string? | ||
YAxisPrefix | string? | ||
YAxisSuffix | string? |
AggregationIndexCrossFilterModeDataSourceDefaultViewIdEnableAnimationHeightLegendPositionOrientationShowBorderShowExportButtonShowRefreshButtonSourceStackedTitleTypeViewIdsWidthXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixイベント
名称 | 種類 | 概要 |
|---|---|---|
OnElementClick | EventCallback<ChartClickEventArgs> |
OnElementClickチャートの種類と列挙
チャートタイプ選択と日付バケット化のための列挙。
ChartType
基盤となるChart.jsライブラリでサポートされているチャートタイプのセットは、バー、ライン、パイ、ドーナツ、ポーラーエリア、レーダー、バブル、散乱です。
ChartType Enum
価値観
名称 | 価値 | 概要 |
|---|---|---|
Bar | 0 | 縦棒グラフ(Chart.js |
Line | 1 | 折れ線図(Chart.js |
Pie | 2 | 円グラフ(Chart.js |
Doughnut | 3 | ドーナツチャート(Chart.js |
PolarArea | 4 | 極地図(Chart.js |
Radar | 5 | レーダーチャート(Chart.js |
Bubble | 6 | バブルチャート(Chart.js |
Scatter | 7 | 散布図(Chart.js |
Funnel | 8 | Funnel chart( |
Bar0Line1Pie2Doughnut3PolarArea4Radar5Bubble6Scatter7Funnel8ChartDateGrouping
集計クエリでdatetime列をグループ化するための日付バケット間隔。単純な値(Day、Month、Year)と組み合わせ値(MonthAndYear、QuarterAndYearなど)が含まれ、 "Jan 2024"のようなフォーマット済みラベルを生成します。
ChartDateGrouping Enum
価値観
名称 | 価値 | 概要 |
|---|---|---|
None | 0 | 日付のグループ化はなく、列は生の値でグループ化されます。 |
Day | 1 | 日ごとにグループ化( |
Week | 2 | ISO週ごとにグループ化( |
Month | 3 | 暦月ごとにグループ分け( |
Quarter | 4 | カレンダー四半期別グループ化( |
Year | 5 | 暦年ごとのグループ分け( |
MonthAndYear | 6 | 月+年ごとにグループ化します。ラベル:「 |
DayAndMonth | 7 | 日+月ごとにグループ分け。レーベル:「 |
DayAndMonthAndYear | 8 | 日+月+年ごとにグループ分け。ラベル:「 |
WeekAndYear | 9 | ISO別グループ、週+年。ラベル:「 |
QuarterAndYear | 10 | 四半期+年ごとのグループ。ラベル:「 |
None0Day1Week2Month3Quarter4Year5MonthAndYear6DayAndMonth7DayAndMonthAndYear8WeekAndYear9QuarterAndYear10データモデル
チャートデータ、データポイント、テーマ付け、クリックイベントペイロードを表すクラスやインターフェースです。
ChartData
チャートをレンダリングするために必要な完全な形状のデータをまとめます:カテゴリラベル(X軸)のリストと1つ以上のデータセットです。データソース LoadAsync メソッドから返されます。
ChartData クラス
性質
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
Datasets | List<ChartDataset> | プロットするデータセット。各データセットの ChartDataset.Data 長さは一致し ChartData.Labels欠損するバケットは以下の通りです。 サーバーによってゼロ充填されるため、位置のアラインメントが保持されます シリーズを横断して。 | |
Labels | List<string> | カテゴリラベルは主軸に沿って表示されます。 |
DatasetsChartDataset.Data 長さは一致し ChartData.Labels欠損するバケットは以下の通りです。 サーバーによってゼロ充填されるため、位置のアラインメントが保持されます シリーズを横断して。LabelsChartDataset
チャート上の単一のデータセット(シリーズ)を表します。データポイント、凡例ラベル、背景や境界線のカラーオーバーライドオプションが含まれています。
ChartDataset クラス
性質
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
BackgroundColor | string? | このデータセット内のすべての要素のデフォルトの背景色 デカルトチャートタイプ。点ごとの放射状チャートタイプの場合 DataPoint.BackgroundColor 上書きが勝ちます。いつ | |
BorderColor | string? | デフォルトのボーダーカラー。先行意味論は ChartDataset.BackgroundColor。 | |
BorderWidth | double | 1 | ピクセル単位の要素の境界幅。分数値もサポートされています (例:高DPIディスプレイの髪の生え際の境界線は |
Data | List<DataPoint> | このデータセットのデータポイント。アイテムは Models.DataPoint または サブクラス(Models.DataverseDataPoint データソースが Dataverse 支援されています。多型型の「$type」識別子は次の通りです。 JSONを通じて保存されます。 | |
Label | string | このデータセットの凡例ラベル(例:「 |
BackgroundColorDataPoint.BackgroundColor 上書きが勝ちます。いつ BorderColorChartDataset.BackgroundColor。BorderWidthDataModels.DataPoint または サブクラス(Models.DataverseDataPoint データソースが Dataverse 支援されています。多型型の「$type」識別子は次の通りです。 JSONを通じて保存されます。LabelDataPoint
IDataPointのデフォルト実装です。クリックハンドラーが利用可能となる呼び出し元定義コンテキスト(レコードID、リージョンなど)を付けるサブクラスです。
DataPoint クラス
性質
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
BackgroundColor | string? | ポイントごとの背景色。放射状チャートタイプ(円円、 ドーナツ、polarArea)で個々のセグメントを明確に色付けする。 | |
BorderColor | string? | ポイントごとの境界色。同じ意味論 DataPoint.BackgroundColor。 | |
Value | double | 0 | 数値はChart.jsによってプロットされました。 |
BackgroundColorBorderColorDataPoint.BackgroundColor。ValueDataverseDataPoint
投影されたDataverseの基礎TableRecordを保持するIDataPoint実装です。クリックハンドラーはこのタイプでパターンマッチを行い、行のID、テーブル名、列の値にアクセスできます。
DataverseDataPoint クラス
性質
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
BackgroundColor | string? | ポイントごとの背景色。放射状チャートタイプ(円円、 ドーナツ、polarArea)で個々のセグメントを明確に色付けする。 | |
BorderColor | string? | ポイントごとの境界色。同じ意味論 DataPoint.BackgroundColor。 | |
Record | TableRecord? | このデータポイントが投影されたDataverseの行です。無効化可能 多系列ピボットのゼロ充填バケットには オリジナルレコード。 | |
Value | double | 0 | 数値はChart.jsによってプロットされました。 |
BackgroundColorBorderColorDataPoint.BackgroundColor。RecordValueChartTheme
チャートインスタンスに適用されるテーマおよび書式のオーバーライド — テキストの色、グリッド線の色、Y軸の値の書式(接頭辞/接尾辞)、チャートタイトル、スタックモード、そして凡例の位置。
ChartTheme クラス
性質
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
EnableAnimation | bool | True | チャートアニメーションが有効かどうかを取得または設定します。デフォルトは |
GridColor | string? | 軸のグリッドラインや境界線に使われる色を取得または設定します。 | |
IndexAxis | ChartIndexAxis? | Chart.jsのカテゴリー軸方向。呼び出し元のコンポーネントレイヤーによって設定されます Components.ChartOrientationComponents.ChartOrientation)経由; 消費者はこのプロパティではなく、コンポーネントにComponents.ChartIndexAxis)。 | |
LegendPosition | ChartLegendPosition? | 図面に対する凡例の配置、すなわち図 ChartLegendPosition.Hidden 完全に隠すために。 Components.ChartLegendPosition)。 | |
Stacked | bool | False | X軸とY軸が重ねられているかどうかを得たり設定したりします。もし事実であれば、データセットはその上に積み重ねられます 並べて展示するのではなく、互いに見せ合うものでした。棒グラフや折れ線グラフに当てはまります。 |
TextColor | string? | デフォルトのテキスト、凡例ラベル、軸のティック、タイトルの色を取得または設定します。 | |
Title | string? | チャートの上に表示されるタイトルテキストを取得したり設定したりします。無効の場合はタイトルが表示されません。 | |
XAxisPrefix | string? | 各X軸ティックラベルに前置き文字列を取得または設定します (例えば | |
XAxisSuffix | string? | 各X軸ティックラベルに付加された文字列を取得したり設定したりします。nullの場合は接尾辞が適用されません。 | |
YAxisPrefix | string? | 各Y軸のティックラベルとツールチップ値に先行付けの文字列を取得したり設定したりします (例えば通貨の | |
YAxisSuffix | string? | 各Y軸のティックラベルとツールチップ値に付随する文字列を取得したり設定したりします (例えば |
EnableAnimationGridColorIndexAxisComponents.ChartOrientationComponents.ChartOrientation)経由; 消費者はこのプロパティではなく、コンポーネントにComponents.ChartIndexAxis)。LegendPositionChartLegendPosition.Hidden 完全に隠すために。 Components.ChartLegendPosition)。StackedTextColorTitleXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixChartClickEventArgs
ペイロードは単一のチャート要素(バー、スライス、ポイントなど)をクリックする動作を記述します。データセットインデックス、データインデックス、ラベル、値、データセットラベル、そしてパターンマッチングのための元の IDataPoint インスタンスを含みます。
ChartClickEventArgs クラス
性質
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
DataIndex | int | 0 | データセット内のデータ点のゼロベースのインデックスです。 |
DataPoint | DataPoint? | クリックされた要素を支える実際の Models.DataPoint インスタンスです。 カスタムサブクラス(例: Models.DataverseDataPoint)とのパターンマッチでアクセスできます 呼び出し元定義コンテキスト(レコードID、カテゴリなど)。の添 | |
DatasetIndex | int | 0 | クリックされた要素を含むデータセットのゼロベースのインデックスです。 |
DatasetLabel | string | クリックされた要素が属するデータセットのラベル(例:「 | |
Label | string | クリックされた要素に関連付けられたカテゴリラベル(例:「 | |
Value | double | 0 | クリックされたデータポイントの数値。 |
DataIndexDataPointModels.DataPoint インスタンスです。 カスタムサブクラス(例: Models.DataverseDataPoint)とのパターンマッチでアクセスできます 呼び出し元定義コンテキスト(レコードID、カテゴリなど)。の添 DatasetIndexDatasetLabelLabelValueデータソース
DataverseからFetchXMLクエリを通じてチャートデータを読み込むデータソースクラス。
DataverseChartDataSource
生のFetchXMLと列マッピングを受け入れるベースデータソースクラス。 IPowerPortalsProServiceでクエリを実行し、集計結果の RelatedRecordValue アンラッピングを処理し、行を単一系列または複数系列の ChartDataにシェイプします。
DataverseChartDataSource クラス
性質
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
FetchXml | string? | 実行するFetchXMLクエリ。基底クラスはこれを 直接リクエスト;サブクラスのオーバーライド Models.ChartDataRequest) 別の入力モードを使う必要があります。 | |
LabelColumn | string | チャートラベル(X軸)に使う結果列名。生のもの fetchXMLは属性の論理名(もしそうならそのエイリアス)です FetchXMLで指定されていました。 | |
SeriesColumn | string? | 行を複数に分割するためのオプションの結果列名 データセット。設定した場合、同じ系列値を持つ行は次のようになります。 一つのデータセットにまとめられます。 | |
SingleSeriesLabel | string | 単一エミットされたデータセットに適用される任意のデータセットラベル DataverseChartDataSource.SeriesColumn はまだ設定されていません。多系列クエリの使用 フォーマット済みのシリーズ値がデータセットラベルとして使われ、これを無視してください。 | |
ValueColumn | string | 結果列名から数値を読み取る。絶対に 返された行の数値列を参照してください。 |
FetchXmlModels.ChartDataRequest) 別の入力モードを使う必要があります。LabelColumnSeriesColumnSingleSeriesLabelDataverseChartDataSource.SeriesColumn はまだ設定されていません。多系列クエリの使用 フォーマット済みのシリーズ値がデータセットラベルとして使われ、これを無視してください。ValueColumn方法
名称 | パラメータ | 種類 | 概要 |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | 共有 Services.IChartServiceを通じてチャートデータを読み込みます。 |
LoadAsyncServices.IChartServiceを通じてチャートデータを読み込みます。AggregateDataverseChartDataSource
生のFetchXMLを要求する代わりに、単純なプロパティ(TableName、GroupByColumn、AggregateColumn、Aggregate)から集約FetchXMLクエリを構築するサブクラスです。日付バケット、マルチシリーズ、ビューベースのフィルタリング、インラインフィルターフラグメント、リンクエンティティ結合をサポートしています。
AggregateDataverseChartDataSource クラス
性質
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
Aggregate | AggregateType | Sum | 集計関数は AggregateDataverseChartDataSource.AggregateColumnに適用されました。 |
AggregateColumn | string | Dataverseの列を集約します。に対して AggregateType.Count どの列でも使えます。セット 基地の DataverseChartDataSource.ValueColumn クラスで同期を保つために。 | |
FetchXml | string? | 実行するFetchXMLクエリ。基底クラスはこれを 直接リクエスト;サブクラスのオーバーライド Models.ChartDataRequest) 別の入力モードを使う必要があります。 | |
FilterXml | string? | オプションで生のFetchXMLフィルターフラグメントを注入して 生成クエリ(完全な | |
GroupByColumn | string | Dataverseの列をグループ化する—がチャートのX軸となります ラベル。セット DataverseChartDataSource.LabelColumn 基本クラスで同期を保つために配置します。 | |
GroupByDateGrouping | ChartDateGrouping | None | AggregateDataverseChartDataSource.GroupByColumnがdatetime列の場合、 日付がバケツ分けされていること。 |
GroupByLinkedEntity | ChartLinkedEntity? | AggregateDataverseChartDataSource.GroupByColumnのためのオプションのリンクエンティティチェーン。 設定すると、groupby属性はリンクエンティティ内に配置されます 生成されたFetchXMLに含まれます。 | |
LabelColumn | string | チャートラベル(X軸)に使う結果列名。生のもの fetchXMLは属性の論理名(もしそうならそのエイリアス)です FetchXMLで指定されていました。 | |
SeriesColumn | string? | 行を複数に分割するためのオプションの結果列名 データセット。設定した場合、同じ系列値を持つ行は次のようになります。 一つのデータセットにまとめられます。 | |
SeriesDateGrouping | ChartDateGrouping | None | シリーズの任意の日付グループ分け — 同じ作品に適用 列を AggregateDataverseChartDataSource.GroupByColumnとして。年次チャートの使用 ChartDateGrouping.MonthAggregateDataverseChartDataSource.GroupByDateGrouping および この土地 ChartDateGrouping.Year 。設定されたら、 DataverseChartDataSource.SeriesColumn は無視されます。 |
SeriesLinkedEntity | ChartLinkedEntity? | オプションのリンクエンティティチェーン DataverseChartDataSource.SeriesColumn。 | |
SingleSeriesLabel | string | 単一エミットされたデータセットに適用される任意のデータセットラベル DataverseChartDataSource.SeriesColumn はまだ設定されていません。多系列クエリの使用 フォーマット済みのシリーズ値がデータセットラベルとして使われ、これを無視してください。 | |
TableName | string | Dataverseテーブルでクエリ(例:「 | |
Top | int? | グループで返却する行数の上限は任意です。 | |
ValueColumn | string | 結果列名から数値を読み取る。絶対に 返された行の数値列を参照してください。 | |
ViewId | Guid? | オプションで保存表示IDを用意します。設定すると、ビューのフィルター条件が 生成された集計クエリに統合されます。どのものかを決定します 記録も含まれています。アグリゲートの設定が、それらの設定を決定します まとめて。 |
AggregateAggregateDataverseChartDataSource.AggregateColumnに適用されました。AggregateColumnAggregateType.Count どの列でも使えます。セット 基地の DataverseChartDataSource.ValueColumn クラスで同期を保つために。FetchXmlModels.ChartDataRequest) 別の入力モードを使う必要があります。FilterXmlGroupByColumnDataverseChartDataSource.LabelColumn 基本クラスで同期を保つために配置します。GroupByDateGroupingAggregateDataverseChartDataSource.GroupByColumnがdatetime列の場合、 日付がバケツ分けされていること。GroupByLinkedEntityAggregateDataverseChartDataSource.GroupByColumnのためのオプションのリンクエンティティチェーン。 設定すると、groupby属性はリンクエンティティ内に配置されます 生成されたFetchXMLに含まれます。LabelColumnSeriesColumnSeriesDateGroupingAggregateDataverseChartDataSource.GroupByColumnとして。年次チャートの使用 ChartDateGrouping.MonthAggregateDataverseChartDataSource.GroupByDateGrouping および この土地 ChartDateGrouping.Year 。設定されたら、 DataverseChartDataSource.SeriesColumn は無視されます。SeriesLinkedEntityDataverseChartDataSource.SeriesColumn。SingleSeriesLabelDataverseChartDataSource.SeriesColumn はまだ設定されていません。多系列クエリの使用 フォーマット済みのシリーズ値がデータセットラベルとして使われ、これを無視してください。TableNameTopValueColumnViewId方法
名称 | パラメータ | 種類 | 概要 |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | 共有 Services.IChartServiceを通じてチャートデータを読み込みます。 |
LoadAsyncServices.IChartServiceを通じてチャートデータを読み込みます。ViewDataverseChartDataSource
Dataverseに保存されたビュー(保存されたクエリ)からFetchXMLを解決するサブクラスです。呼び出し元は依然として LabelColumn と ValueColumn を設定し、どの列がラベルや値にマッピングされるかを示します。
ViewDataverseChartDataSource クラス
性質
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
FetchXml | string? | 実行するFetchXMLクエリ。基底クラスはこれを 直接リクエスト;サブクラスのオーバーライド Models.ChartDataRequest) 別の入力モードを使う必要があります。 | |
LabelColumn | string | チャートラベル(X軸)に使う結果列名。生のもの fetchXMLは属性の論理名(もしそうならそのエイリアス)です FetchXMLで指定されていました。 | |
SeriesColumn | string? | 行を複数に分割するためのオプションの結果列名 データセット。設定した場合、同じ系列値を持つ行は次のようになります。 一つのデータセットにまとめられます。 | |
SingleSeriesLabel | string | 単一エミットされたデータセットに適用される任意のデータセットラベル DataverseChartDataSource.SeriesColumn はまだ設定されていません。多系列クエリの使用 フォーマット済みのシリーズ値がデータセットラベルとして使われ、これを無視してください。 | |
ValueColumn | string | 結果列名から数値を読み取る。絶対に 返された行の数値列を参照してください。 | |
ViewId | Guid | 00000000-0000-0000-0000-000000000000 | Dataverseに保存されたビューの一意識別子を読み込みます。その サーバーはすべての呼び出しでFetchXmlを取得します(ここではキャッシュされていません) 層;ViewMetadataCacheはサーバー側でキャッシュを処理します)。 |
FetchXmlModels.ChartDataRequest) 別の入力モードを使う必要があります。LabelColumnSeriesColumnSingleSeriesLabelDataverseChartDataSource.SeriesColumn はまだ設定されていません。多系列クエリの使用 フォーマット済みのシリーズ値がデータセットラベルとして使われ、これを無視してください。ValueColumnViewId方法
名称 | パラメータ | 種類 | 概要 |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | 共有 Services.IChartServiceを通じてチャートデータを読み込みます。 |
LoadAsyncServices.IChartServiceを通じてチャートデータを読み込みます。ChartLinkedEntity
AggregateDataverseChartDataSourceが関連するテーブルにgroupbyやseries属性を配置するために使うリンクされたエンティティ(ジョイン)を記述します。マルチホップジョイン(例:オポチュニティ→アカウント、ビジネスユニット→)に対するLinkedEntityプロパティによる無制限ネストをサポートしています。
ChartLinkedEntity クラス
性質
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
From | string | 連結キーを提供するリンクテーブルの列 (例:「 | |
JoinType | JoinOperator | Inner | 結合タイプ。デフォルトは JoinOperator.Innerです。 |
LinkedEntity | ChartLinkedEntity? | マルチホップ結合のためのオプションの子リンクエンティティ。その Groupby/series属性は 最も内側に配置されます チェーン内の存在。 | |
TableName | string | リンクされたテーブルの論理名(例:「 | |
To | string | 親テーブル(または親リンクエンティティ)上のカラムを結合します (例:「 |
FromJoinTypeJoinOperator.Innerです。LinkedEntityTableNameToグリッドとチャート間で1つのデータソースを共有する方法
ViewDataSourceは、MainGridと1つ(または複数の)DataverseChart部品を並行して駆動できます。あるサーバーの往復は行ページとチャート集計を原子的に返すため、グリッドが新しいフィルター上にあるのにグラフが古いフィルターの数値を表示するレースはありません。検索、ソート、ページング、閲覧は、同じデータソースを通じて消費者フローの流れに対応できます。
データソースを OnInitialized で構築し(注入した IGridService が利用可能になるように)、 DataSourceを通じて両方のビューに渡します。グリッドは行ページをレンダリングします。チャートは AggregationResults[AggregationIndex]を示しています。複数の集約もサポートされており、各エントリーが同じデータソースを指す別々のチャートを駆動します。
import { AggregateType, type ChartAggregation } from '@powerportalspro/core';
import { useViewDataSource } from '@powerportalspro/react';
import { ChartType } from '@powerportalspro/react-charts';
import { DataverseChart, MainGrid } from '@powerportalspro/react-fluent';
const AGGREGATIONS: ChartAggregation[] = [
{
groupBy: { column: 'opportunityratingcode' },
aggregateColumn: 'opportunityid',
aggregate: AggregateType.Count,
},
];
export function MyChartAndGrid() {
// 1つのuseViewDataSourceコールは、行ページと
// これらの集約は単一の応答に集まり、原子的に一貫性を保っています。
const ds = useViewDataSource({
viewId: openOpportunitiesViewId,
aggregations: AGGREGATIONS,
});
return (
<>
<DataverseChart dataSource={ds} type={ChartType.Pie} />
<MainGrid dataSource={ds} tableName="opportunity" />
</>
);
}<DataverseChart DataSource="_ds" Type="ChartType.Pie" />
<MainGrid DataSource="_ds" TableName="opportunity" />
@code {
private ViewDataSource? _ds;
protected override void OnInitialized()
{
_ds = new ViewDataSource(_gridService, new ViewDataSourceOptions
{
ViewId = _openOpportunitiesViewId,
Aggregations = new[]
{
new ChartAggregation
{
GroupBy = new ChartGrouping { Column = "opportunityratingcode" },
AggregateColumn = "opportunityid",
Aggregate = AggregateType.Count,
},
},
});
}
public async ValueTask DisposeAsync()
{
if (_ds is not null) await _ds.DisposeAsync();
}
}チャートスライスをクリックするとデータソースの Highlightが設定され、ペアグリッド内の一致しない行(およびチャート内の一致しないスライス)は再取得せずに暗くなります。同じスライスをもう一度クリックしてクリアします。ドリルスルーナビゲーションやハードフィルターの場合は、 CrossFilterMode="ChartCrossFilterMode.None" を設定して自分で OnElementClick を操作してください。
