Référence API des cartes
Cette page documente chaque classe, interface et enum publique dans la bibliothèque de graphiques PowerPortalsPro.
Composants
Les composants Blazor qui affichent les graphiques.
FluentUIChart
Un enveloppement thématique autour du composant de base Chart . Lit les couleurs des jetons de design actifs de Fluent UI, remplit automatiquement les couleurs des jeux de données à partir d’une palette dérivée de Fluent, et re-thématise le graphique lorsque l’utilisateur bascule entre le mode clair et sombre.
FluentUIChart Classe
Paramètres
Nom | Type | Par défaut | Description |
|---|---|---|---|
Datasets | List<ChartDataset> | Obtient ou définit les ensembles de données à tracer. Tout jeu de données qui laisse ChartDataset.BackgroundColor ou ChartDataset.BorderColor null sera automatiquement rempli depuis la palette active Fluent. | |
EnableAnimation | bool | True | Si les animations de graphiques sont activées. Par défaut, |
Height | string? | 400px | Obtient ou définit la hauteur CSS optionnelle appliquée au conteneur de cartes. Par défaut, |
Labels | List<string> | Obtient ou définit les étiquettes de catégorie affichées le long de l’axe principal du graphique. | |
LegendPosition | ChartLegendPosition? | Placement de la légende par rapport à la zone du graphique, ou ChartLegendPosition.Hidden pour le cacher entièrement. Quand ChartLegendPosition.Top) est utilisé. | |
Orientation | ChartOrientation? | Orientation du graphique. Lorsque ChartOrientation.Horizontal, des catégories apparaissent sur le Axe Y et valeurs sur l’axe X. Les cartes de l’entonnoir sont par défaut horizontales pour un entonnoir descendant. | |
ShowBorder | bool | True | S’il faut enrouler le tableau d’une bordure thématique aux coins arrondis. Par défaut, |
Stacked | bool | False | S’il faut empiler les ensembles de données les uns sur les autres plutôt que côte à côte. Cela s’applique aux graphiques en barres et en lignes. |
Title | string? | Le titre du classement est affiché au-dessus du graphique. Lorsqu’elle est nulle, aucun titre n’est indiqué. | |
Type | ChartType | Bar | Obtient ou définit le type de graphique à rendre (par exemple ChartType.Bar, ChartType.Line, ChartType.Pie, ChartType.Doughnut). |
Width | string? | Obtient ou définit la largeur CSS optionnelle appliquée au conteneur de graphique. | |
XAxisPrefix | string? | Une chaîne optionnelle précédée à chaque étiquette de coche de l’axe X. | |
XAxisSuffix | string? | Chaîne optionnelle ajoutée à chaque étiquette de tick de l’axe X. | |
YAxisPrefix | string? | Chaîne optionnelle précédée à chaque étiquette de tick de l’axe Y et à chaque valeur infobulle (par exemple | |
YAxisSuffix | string? | Chaîne optionnelle ajoutée à chaque étiquette de tick de l’axe Y et à chaque valeur d’infobulle (par |
DatasetsChartDataset.BackgroundColor ou ChartDataset.BorderColor null sera automatiquement rempli depuis la palette active Fluent.EnableAnimationHeightLabelsLegendPositionChartLegendPosition.Hidden pour le cacher entièrement. Quand ChartLegendPosition.Top) est utilisé.OrientationChartOrientation.Horizontal, des catégories apparaissent sur le Axe Y et valeurs sur l’axe X. Les cartes de l’entonnoir sont par défaut horizontales pour un entonnoir descendant. ShowBorderStackedTitleTypeChartType.Bar, ChartType.Line, ChartType.Pie, ChartType.Doughnut).WidthXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixÉvénements
Nom | Type | Description |
|---|---|---|
OnElementClick | EventCallback<ChartClickEventArgs> | Affiché lorsque l’utilisateur clique sur un élément de graphique rendu (barre, tranche, point, etc.). Transféré vers le fond sous-jacent Components.Chart; les clics sur l’arrière-plan du graphique sont ignorés. |
OnElementClickComponents.Chart; les clics sur l’arrière-plan du graphique sont ignorés.Méthodes
Nom | Paramètres | Type | Description |
|---|---|---|---|
ExportAsImageAsync | Task<string> | Exporte le graphique actuel sous forme d’image PNG et renvoie les données sous forme de code Base64 URI de données (par exemple |
ExportAsImageAsyncDataverseChart
Un composant de commodité qui enveloppe FluentUIChart et gère le cycle de vie du chargement des données. Accepte un DataverseChartDataSource, gère l’état de chargement, l’affichage des erreurs et fournit un bouton de rafraîchissement optionnel.
DataverseChart Classe
Paramètres
Nom | Type | Par défaut | Description |
|---|---|---|---|
AggregationIndex | int | 0 | Quelle entrée dans ViewDataSource.AggregationResults pour rendre le message. Par défaut, DataverseChart.Source il est utilisé à la place. |
CrossFilterMode | ChartCrossFilterMode | Highlight | Comportement de slice-clic lorsque un DataverseChart.DataSource est fourni. Par défaut — ChartCrossFilterMode.Highlight doux filtre croisé qui met en valeur le sir sir et dimer assorti des lignes non correspondantes sans récupération. Le produit fourni par le consommateur DataverseChart.OnElementClick Toujours tir à côté, pour des couches Télémétrie / comportement de percutement. Ignoré quand DataverseChart.Source est utilisé. |
DataSource | ViewDataSource? | Instance partagée Data.ViewDataSource (généralement aussi pilotant une DataverseChart.Source. Le graphique lit ses données de manière réactive à partir de ViewDataSource.AggregationResults et distribue l’état du filtre croisé sur des clics de tranche par DataverseChart.CrossFilterMode. Un aller-retour serveur alors garde la page de ligne de la grille et l’agrégation du graphique atomiquement Cohérent. | |
DefaultViewId | Guid? | Identifiant de vue par défaut optionnel à présélectionner dans la menu déroulante de vue. Si ce n’est pas fixé, le premier La vue dans DataverseChart.ViewIds (ou la vue par défaut de la table) est sélectionnée. | |
EnableAnimation | bool | True | Si les animations de graphiques sont activées. Par défaut, |
Height | string? | 400px | Hauteur CSS optionnelle appliquée à l’ensemble du composant (y compris le sélecteur de vue) menu déroulant et bordure thématique, quand affichée). Le tableau interne occupe l’espace reste après la barre d’outils et le sélecteur. Par défaut, |
LegendPosition | ChartLegendPosition? | Placement de la légende par rapport à la zone du graphique, ou ChartLegendPosition.Hidden pour le cacher entièrement. Quand ChartLegendPosition.Top) est utilisé. | |
Orientation | ChartOrientation? | Orientation du graphique. Les cartes d’entonnoir sont par défaut ChartOrientation.Horizontal pour un entonnoir descendant. | |
ShowBorder | bool | True | S’il faut enrouler le tableau d’une bordure thématique aux coins arrondis. Par défaut, |
ShowExportButton | bool | True | S’il faut afficher un bouton de téléchargement qui exporte le graphique en image PNG. Par défaut, |
ShowRefreshButton | bool | True | S’il faut afficher un bouton de rafraîchissement dans le coin supérieur droit du graphique ? Par défaut, |
Source | DataverseChartDataSource? | Source de données indépendante basée sur des classes. Mutuellement exclusif avec DataverseChart.DataSource — exactement l’un des deux doit être a-t-il ajouté. Avec DataverseChart.Source, ce composant possède le cycle de vie de chargement + rafraîchissement et répartition à travers Services.IChartService directement. À utiliser lorsqu’un graphique possède sa Va chercher son propre (pas de grille appariée). | |
Stacked | bool | False | S’il faut empiler les ensembles de données les uns sur les autres plutôt que côte à côte. |
Title | string? | Le titre du classement est affiché au-dessus du graphique. Lorsqu’elle est nulle, aucun titre n’est indiqué. | |
Type | ChartType | Bar | Le type de graphique à reproduire. |
ViewIds | List<Guid>? | Liste optionnelle des identifiants de vue Dataverse à afficher dans un menu déroulant au-dessus du graphique. Quand le L’utilisateur sélectionne une vue, ses conditions de filtre sont fusionnées dans la source de données et le graphique Recharge. Fonctionne avec Components.AggregateDataverseChartDataSource et Components.ViewDataverseChartDataSource. | |
Width | string? | Largeur CSS optionnelle appliquée au conteneur de cartes. | |
XAxisPrefix | string? | Une chaîne optionnelle précédée à chaque étiquette de coche de l’axe X. | |
XAxisSuffix | string? | Chaîne optionnelle ajoutée à chaque étiquette de tick de l’axe X. | |
YAxisPrefix | string? | Chaîne optionnelle ajoutée à chaque étiquette de tick de l’axe Y et à chaque valeur infobulle (par exemple | |
YAxisSuffix | string? | Chaîne optionnelle ajoutée à chaque étiquette de tick de l’axe Y et à chaque valeur d’infobulle (par exemple |
AggregationIndexViewDataSource.AggregationResults pour rendre le message. Par défaut, DataverseChart.Source il est utilisé à la place.CrossFilterModeDataverseChart.DataSource est fourni. Par défaut — ChartCrossFilterMode.Highlight doux filtre croisé qui met en valeur le sir sir et dimer assorti des lignes non correspondantes sans récupération. Le produit fourni par le consommateur DataverseChart.OnElementClick Toujours tir à côté, pour des couches Télémétrie / comportement de percutement. Ignoré quand DataverseChart.Source est utilisé.DataSourceData.ViewDataSource (généralement aussi pilotant une DataverseChart.Source. Le graphique lit ses données de manière réactive à partir de ViewDataSource.AggregationResults et distribue l’état du filtre croisé sur des clics de tranche par DataverseChart.CrossFilterMode. Un aller-retour serveur alors garde la page de ligne de la grille et l’agrégation du graphique atomiquement Cohérent.DefaultViewIdDataverseChart.ViewIds (ou la vue par défaut de la table) est sélectionnée.EnableAnimationHeightLegendPositionChartLegendPosition.Hidden pour le cacher entièrement. Quand ChartLegendPosition.Top) est utilisé.OrientationChartOrientation.Horizontal pour un entonnoir descendant. ShowBorderShowExportButtonShowRefreshButtonSourceDataverseChart.DataSource — exactement l’un des deux doit être a-t-il ajouté. Avec DataverseChart.Source, ce composant possède le cycle de vie de chargement + rafraîchissement et répartition à travers Services.IChartService directement. À utiliser lorsqu’un graphique possède sa Va chercher son propre (pas de grille appariée).StackedTitleTypeViewIdsComponents.AggregateDataverseChartDataSource et Components.ViewDataverseChartDataSource.WidthXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixÉvénements
Nom | Type | Description |
|---|---|---|
OnElementClick | EventCallback<ChartClickEventArgs> | Affiché lorsque l’utilisateur clique sur un élément de graphique rendu. |
OnElementClickTypes de cartes & Enums
Énumérations pour la sélection des types de cartes et le segment de dates.
ChartType
L’ensemble des types de cartes supportés par la bibliothèque Chart.js sous-jacente : Bar, Line, Pie, Doughnut, PolarArea, Radar, Bubble et Scatter.
ChartType Enum
Valeurs
Nom | Valeur | Description |
|---|---|---|
Bar | 0 | Diagramme à barres verticale (Chart.js |
Line | 1 | Diagramme de lignes (Chart.js |
Pie | 2 | Diagramme circulaire (Chart.js |
Doughnut | 3 | Tableau des beignets (Chart.js |
PolarArea | 4 | Carte de la zone polaire (Chart.js |
Radar | 5 | Carte radar (Chart.js |
Bubble | 6 | Graphique à bulles (Chart.js |
Scatter | 7 | Diagramme de dispersion (Chart.js |
Funnel | 8 | Diagramme d’entonnoir (via |
Bar0Line1Pie2Doughnut3PolarArea4Radar5Bubble6Scatter7Funnel8ChartDateGrouping
Intervalles de bucketing de dates pour regrouper les colonnes de dates et heures dans les requêtes agrégées. Inclut des valeurs simples (Jour, Mois, Année) et des valeurs combinées (MoisAndAnnée, TrimestreAndAnnée, etc.) qui produisent des labels formatés comme "Jan 2024".
ChartDateGrouping Enum
Valeurs
Nom | Valeur | Description |
|---|---|---|
None | 0 | Pas de regroupement de dates — la colonne est regroupée selon sa valeur brute. |
Day | 1 | Groupe par jour ( |
Week | 2 | Groupe par semaine ISO ( |
Month | 3 | Groupe par mois calendaire ( |
Quarter | 4 | Groupe par trimestre calendaire ( |
Year | 5 | Groupe par année civile ( |
MonthAndYear | 6 | Groupe par mois + année. Étiquette : |
DayAndMonth | 7 | Groupe par jour + mois. Étiquette : |
DayAndMonthAndYear | 8 | Groupe par jour + mois + année. Étiquette : |
WeekAndYear | 9 | Groupe par semaine ISO + année. Étiquette : |
QuarterAndYear | 10 | Groupe par trimestre + année. Étiquette : |
None0Day1Week2Month3Quarter4Year5MonthAndYear6DayAndMonth7DayAndMonthAndYear8WeekAndYear9QuarterAndYear10Modèle de données
Les classes et interfaces qui représentent les données graphiques, les points de données, le thème et les charges utiles des événements de clics.
ChartData
Regroupe les données entièrement formées nécessaires pour afficher un graphique : une liste d’étiquettes de catégories (axe X) et un ou plusieurs ensembles de données. Retourné par les méthodes sources LoadAsync de données.
ChartData Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
Datasets | List<ChartDataset> | Ensembles de données à tracer. Les ChartDataset.Data la longueur devrait correspondre ChartData.Labels; les seaux manquants sont Zero-filled par le serveur afin que l’alignement positionnel soit préservé À travers les séries. | |
Labels | List<string> | Les étiquettes de catégorie sont rendues le long de l’axe primaire. |
DatasetsChartDataset.Data la longueur devrait correspondre ChartData.Labels; les seaux manquants sont Zero-filled par le serveur afin que l’alignement positionnel soit préservé À travers les séries.LabelsChartDataset
Représente un seul ensemble de données (série) dans un graphique. Contient des points de données, une étiquette de légende et des options de remplacement de couleur pour l’arrière-plan et la bordure.
ChartDataset Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
BackgroundColor | string? | Couleur de fond par défaut pour chaque élément de ce jeu de données pour Types de cartes cartésiennes. Pour les types de cartes radiales par point DataPoint.BackgroundColor Les dérogations gagnent. Quand | |
BorderColor | string? | Couleur de bordure par défaut. Même sémantique de préséance que ChartDataset.BackgroundColor. | |
BorderWidth | double | 1 | Largeur de la bordure de l’élément en pixels. Les valeurs fractionnaires sont prises en charge (par exemple, |
Data | List<DataPoint> | Les points de données de ce jeu de données. Les éléments sont Models.DataPoint ou une sous-classe (Models.DataverseDataPoint lorsque la source de données est soutenu par Dataverse). Le discriminateur polymorphe « $type » est préservé grâce à JSON. | |
Label | string | Étiquette de légende pour ce jeu de données (par exemple |
BackgroundColorDataPoint.BackgroundColor Les dérogations gagnent. Quand BorderColorChartDataset.BackgroundColor.BorderWidthDataModels.DataPoint ou une sous-classe (Models.DataverseDataPoint lorsque la source de données est soutenu par Dataverse). Le discriminateur polymorphe « $type » est préservé grâce à JSON.LabelDataPoint
Implémentation par défaut de IDataPoint. Sous-classe pour attacher le contexte défini par l’appelant (identifiant d’enregistrement, région, etc.) qui sera disponible pour les gestionnaires de clics.
DataPoint Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
BackgroundColor | string? | Couleur de fond par point. Utilisé par les types de cartes radiales (pie, donut, polarArea) pour colorer distinctement les segments individuels. | |
BorderColor | string? | Couleur de bordure par point. Même sémantique que DataPoint.BackgroundColor. | |
Value | double | 0 | La valeur numérique tracée par Chart.js. |
BackgroundColorBorderColorDataPoint.BackgroundColor.ValueDataverseDataPoint
Une implémentation qui conserve le Dataverse TableRecord sous-jacent dont IDataPoint elle a été projetée. Les gestionnaires de clics peuvent faire une correspondance de motifs sur ce type pour accéder à l’identifiant de la ligne, au nom de la table et aux valeurs de colonne.
DataverseDataPoint Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
BackgroundColor | string? | Couleur de fond par point. Utilisé par les types de cartes radiales (pie, donut, polarArea) pour colorer distinctement les segments individuels. | |
BorderColor | string? | Couleur de bordure par point. Même sémantique que DataPoint.BackgroundColor. | |
Record | TableRecord? | La ligne Dataverse d’où ce point de données a été projeté. Nul car les godets à remplissage zéro dans un pivot multi-série n’ont pas un Enregistrement d’origine. | |
Value | double | 0 | La valeur numérique tracée par Chart.js. |
BackgroundColorBorderColorDataPoint.BackgroundColor.RecordValueChartTheme
Les contours de thème et de mise en forme s’appliquaient à une instance de graphique — couleur de texte, couleur de la ligne de grille, formatage des valeurs de l’axe Y (préfixe/suffixe), titre du graphique, mode empilé et position de la légende.
ChartTheme Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
EnableAnimation | bool | True | Obtient ou définit si les animations de graphiques sont activées. Par défaut, |
GridColor | string? | Obtient ou définit la couleur utilisée pour les lignes de grille et les bordures d’axe. | |
IndexAxis | ChartIndexAxis? | La Chart.js direction de l’axe catégorie. Défini par la couche composante à partir de la couche de l’appelant Components.ChartOrientation via Components.ChartOrientation); les consommateurs doivent définir Components.ChartIndexAxis). | |
LegendPosition | ChartLegendPosition? | Placement de la légende par rapport à la zone du graphique, ou ChartLegendPosition.Hidden pour le cacher entièrement. Components.ChartLegendPosition). | |
Stacked | bool | False | Obtient ou fixe si les axes X et Y sont empilés. Lorsque c’est vrai, les jeux de données sont empilés par-dessus l’un de l’autre plutôt que d’être exposés côte à côte. Cela s’applique aux graphiques en barres et en lignes. |
TextColor | string? | Obtient ou définit la couleur utilisée pour le texte par défaut, les étiquettes de légende, les ticks d’axe et les titres. | |
Title | string? | Obtient ou définit le texte du titre du graphique affiché au-dessus du graphique. Lorsqu’elle est nulle, aucun titre n’est indiqué. | |
XAxisPrefix | string? | Reçoit ou place une chaîne précédée à chaque étiquette de tick de l’axe X (par exemple | |
XAxisSuffix | string? | Obtient ou définit une chaîne ajoutée à chaque étiquette de tick de l’axe X. Lorsqu’il n’est pas nul, aucun suffixe n’est appliqué. | |
YAxisPrefix | string? | Obtient ou définit une chaîne précédée à chaque étiquette de tick de l’axe Y et à chaque valeur infobulle (par exemple | |
YAxisSuffix | string? | Obtient ou définit une chaîne ajoutée à chaque étiquette de tick de l’axe Y et à chaque valeur infobulle (par |
EnableAnimationGridColorIndexAxisComponents.ChartOrientation via Components.ChartOrientation); les consommateurs doivent définir Components.ChartIndexAxis).LegendPositionChartLegendPosition.Hidden pour le cacher entièrement. Components.ChartLegendPosition).StackedTextColorTitleXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixChartClickEventArgs
Charge utile décrivant un clic sur un élément de graphique unique (barre, tranche, point, etc.). Contient l’index du jeu de données, l’index des données, l’étiquette, la valeur, l’étiquette du jeu de données et l’instance originale IDataPoint pour la correspondance des motifs.
ChartClickEventArgs Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
DataIndex | int | 0 | L’indice zéro du point de données dans son jeu de données. |
DataPoint | DataPoint? | L’instance réelle Models.DataPoint qui soutient l’élément cliqué. Faites la correspondance de motifs avec votre sous-classe personnalisée (par exemple Models.DataverseDataPoint) pour accéder Contexte défini par l’appelant (ID d’enregistrement, catégorie, etc.). Peut être | |
DatasetIndex | int | 0 | L’indice zéro du jeu de données contenant l’élément cliqué. |
DatasetLabel | string | L’étiquette du jeu de données auquel appartient l’élément cliqué (par | |
Label | string | L’étiquette de catégorie associée à l’élément cliqué (par | |
Value | double | 0 | La valeur numérique du point de données cliqué. |
DataIndexDataPointModels.DataPoint qui soutient l’élément cliqué. Faites la correspondance de motifs avec votre sous-classe personnalisée (par exemple Models.DataverseDataPoint) pour accéder Contexte défini par l’appelant (ID d’enregistrement, catégorie, etc.). Peut être DatasetIndexDatasetLabelLabelValueSources de données
Des classes de source de données qui chargent les données des graphiques de Dataverse via des requêtes FetchXML.
DataverseChartDataSource
Classe source de données de base qui accepte le FetchXML brut et les correspondances de colonnes. Exécute la requête via IPowerPortalsProService, gère RelatedRecordValue le dépliage pour obtenir des résultats agrégés, et façonne les lignes en séries simples ou multiples ChartData.
DataverseChartDataSource Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
FetchXml | string? | La requête FetchXML à exécuter. La classe de base envoie ceci dans le demande directement ; Surcommande des sous-classes Models.ChartDataRequest) pour utiliser un mode d’entrée différent. | |
LabelColumn | string | Le nom de la colonne du résultat à utiliser pour les étiquettes des graphiques (axe X). Pour les crus FetchXML : c’est le nom logique de l’attribut (ou son alias si tel est était spécifié dans le FetchXML). | |
SeriesColumn | string? | Nom optionnel de la colonne de résultat utilisé pour diviser les lignes en plusieurs jeux de données. Une fois définies, les lignes partageant la même valeur de série sont regroupés dans un seul ensemble de données. | |
SingleSeriesLabel | string | Étiquette optionnelle de jeu de données appliquée au jeu de données émis par un seul lorsque DataverseChartDataSource.SeriesColumn n’est pas fixé. Utilisation des requêtes multi-séries la valeur de série formatée comme l’étiquette du jeu de données et ignorer cela. | |
ValueColumn | string | Le nom de la colonne du résultat pour lire les valeurs numériques. Faut référez une colonne numérique sur les lignes retournées. |
FetchXmlModels.ChartDataRequest) pour utiliser un mode d’entrée différent.LabelColumnSeriesColumnSingleSeriesLabelDataverseChartDataSource.SeriesColumn n’est pas fixé. Utilisation des requêtes multi-séries la valeur de série formatée comme l’étiquette du jeu de données et ignorer cela.ValueColumnMéthodes
Nom | Paramètres | Type | Description |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | Charge les données du graphique via le fichier partagé Services.IChartService. |
LoadAsyncServices.IChartService.AggregateDataverseChartDataSource
Une sous-classe qui construit une requête FetchXML agrégée à partir de propriétés simples (NomTable, GroupByColumn, AggregateColumn, Aggregate) au lieu de nécessiter du FetchXML brut. Prend en charge le bucketing de dates, la multi-série, le filtrage basé sur la vue, les fragments de filtre en ligne et les jointures d’entités liées.
AggregateDataverseChartDataSource Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
Aggregate | AggregateType | Sum | La fonction agrégée appliquée à AggregateDataverseChartDataSource.AggregateColumn. |
AggregateColumn | string | La colonne Dataverse pour agréger. Pour AggregateType.Count N’importe quelle colonne fonctionne. Ensembles DataverseChartDataSource.ValueColumn à la base pour qu’ils restent synchronisés. | |
FetchXml | string? | La requête FetchXML à exécuter. La classe de base envoie ceci dans le demande directement ; Surcommande des sous-classes Models.ChartDataRequest) pour utiliser un mode d’entrée différent. | |
FilterXml | string? | Fragment de filtre brut FetchXML optionnel à injecter dans le requête générée (un | |
GroupByColumn | string | La colonne Dataverse à regrouper par — devient l’axe des X du graphique Étiquettes. Ensembles DataverseChartDataSource.LabelColumn sur la classe de base pour qu’ils restent synchronisés. | |
GroupByDateGrouping | ChartDateGrouping | None | Lorsque AggregateDataverseChartDataSource.GroupByColumn est une colonne datetime, contrôles Comment les dates sont réparties en seaux. |
GroupByLinkedEntity | ChartLinkedEntity? | Chaîne optionnelle d’entités liées pour AggregateDataverseChartDataSource.GroupByColumn. Lorsqu’elle est définie, l’attribut groupby est placé à l’intérieur de l’entité de lien dans le FetchXML généré. | |
LabelColumn | string | Le nom de la colonne du résultat à utiliser pour les étiquettes des graphiques (axe X). Pour les crus FetchXML : c’est le nom logique de l’attribut (ou son alias si tel est était spécifié dans le FetchXML). | |
SeriesColumn | string? | Nom optionnel de la colonne de résultat utilisé pour diviser les lignes en plusieurs jeux de données. Une fois définies, les lignes partageant la même valeur de série sont regroupés dans un seul ensemble de données. | |
SeriesDateGrouping | ChartDateGrouping | None | Regroupement de dates optionnel pour la série — appliqué à la même colonne comme AggregateDataverseChartDataSource.GroupByColumn. Utilisation des classements annuel ChartDateGrouping.Month sur AggregateDataverseChartDataSource.GroupByDateGrouping et ChartDateGrouping.Year sur cette propriété. Une fois réglée, DataverseChartDataSource.SeriesColumn est ignoré. |
SeriesLinkedEntity | ChartLinkedEntity? | Chaîne optionnelle à entité liée pour DataverseChartDataSource.SeriesColumn. | |
SingleSeriesLabel | string | Étiquette optionnelle de jeu de données appliquée au jeu de données émis par un seul lorsque DataverseChartDataSource.SeriesColumn n’est pas fixé. Utilisation des requêtes multi-séries la valeur de série formatée comme l’étiquette du jeu de données et ignorer cela. | |
TableName | string | La table Dataverse pour interroger (par exemple | |
Top | int? | Nombre maximal optionnel de lignes regroupées à revenir. | |
ValueColumn | string | Le nom de la colonne du résultat pour lire les valeurs numériques. Faut référez une colonne numérique sur les lignes retournées. | |
ViewId | Guid? | Identifiant en vue sauvegardée en option. Une fois réglé, les conditions de filtre de la vue sont fusionnés dans la requête agrégée générée. Détermine laquelle Des disques sont inclus ; La configuration globale détermine leur comportement regroupés. |
AggregateAggregateDataverseChartDataSource.AggregateColumn.AggregateColumnAggregateType.Count N’importe quelle colonne fonctionne. Ensembles DataverseChartDataSource.ValueColumn à la base pour qu’ils restent synchronisés.FetchXmlModels.ChartDataRequest) pour utiliser un mode d’entrée différent.FilterXmlGroupByColumnDataverseChartDataSource.LabelColumn sur la classe de base pour qu’ils restent synchronisés.GroupByDateGroupingAggregateDataverseChartDataSource.GroupByColumn est une colonne datetime, contrôles Comment les dates sont réparties en seaux.GroupByLinkedEntityAggregateDataverseChartDataSource.GroupByColumn. Lorsqu’elle est définie, l’attribut groupby est placé à l’intérieur de l’entité de lien dans le FetchXML généré.LabelColumnSeriesColumnSeriesDateGroupingAggregateDataverseChartDataSource.GroupByColumn. Utilisation des classements annuel ChartDateGrouping.Month sur AggregateDataverseChartDataSource.GroupByDateGrouping et ChartDateGrouping.Year sur cette propriété. Une fois réglée, DataverseChartDataSource.SeriesColumn est ignoré.SeriesLinkedEntityDataverseChartDataSource.SeriesColumn.SingleSeriesLabelDataverseChartDataSource.SeriesColumn n’est pas fixé. Utilisation des requêtes multi-séries la valeur de série formatée comme l’étiquette du jeu de données et ignorer cela.TableNameTopValueColumnViewIdMéthodes
Nom | Paramètres | Type | Description |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | Charge les données du graphique via le fichier partagé Services.IChartService. |
LoadAsyncServices.IChartService.ViewDataverseChartDataSource
Une sous-classe qui résout son FetchXML depuis une vue sauvegardée Dataverse (requête sauvegardée). L’appelant continue de définir LabelColumn et ValueColumn d’indiquer quelles colonnes correspondent aux étiquettes et aux valeurs.
ViewDataverseChartDataSource Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
FetchXml | string? | La requête FetchXML à exécuter. La classe de base envoie ceci dans le demande directement ; Surcommande des sous-classes Models.ChartDataRequest) pour utiliser un mode d’entrée différent. | |
LabelColumn | string | Le nom de la colonne du résultat à utiliser pour les étiquettes des graphiques (axe X). Pour les crus FetchXML : c’est le nom logique de l’attribut (ou son alias si tel est était spécifié dans le FetchXML). | |
SeriesColumn | string? | Nom optionnel de la colonne de résultat utilisé pour diviser les lignes en plusieurs jeux de données. Une fois définies, les lignes partageant la même valeur de série sont regroupés dans un seul ensemble de données. | |
SingleSeriesLabel | string | Étiquette optionnelle de jeu de données appliquée au jeu de données émis par un seul lorsque DataverseChartDataSource.SeriesColumn n’est pas fixé. Utilisation des requêtes multi-séries la valeur de série formatée comme l’étiquette du jeu de données et ignorer cela. | |
ValueColumn | string | Le nom de la colonne du résultat pour lire les valeurs numériques. Faut référez une colonne numérique sur les lignes retournées. | |
ViewId | Guid | 00000000-0000-0000-0000-000000000000 | L’identifiant unique du Dataverse a sauvegardé la vue pour charger. Le le serveur récupère son FetchXml à chaque appel (non mis en cache à ce moment couche ; ViewMetadataCache gère la mise en cache côté serveur). |
FetchXmlModels.ChartDataRequest) pour utiliser un mode d’entrée différent.LabelColumnSeriesColumnSingleSeriesLabelDataverseChartDataSource.SeriesColumn n’est pas fixé. Utilisation des requêtes multi-séries la valeur de série formatée comme l’étiquette du jeu de données et ignorer cela.ValueColumnViewIdMéthodes
Nom | Paramètres | Type | Description |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | Charge les données du graphique via le fichier partagé Services.IChartService. |
LoadAsyncServices.IChartService.ChartLinkedEntity
Décrit une entité liée (jointure) utilisée par AggregateDataverseChartDataSource pour placer un attribut groupby ou série sur une table apparentée. Prend en compte un nœud illimité via la LinkedEntity propriété pour les jointures multi-sauts (par exemple, opportunité → compte → unité métier).
ChartLinkedEntity Classe
Propriétés
Nom | Type | Par défaut | Description |
|---|---|---|---|
From | string | Colonne sur la table liée qui fournit la clé de jointure (par | |
JoinType | JoinOperator | Inner | Type de joint. Par défaut, . JoinOperator.Inner |
LinkedEntity | ChartLinkedEntity? | Entité liée enfant optionnelle pour les jointures multi-sauts. Le L’attribut groupby/série est placé à l’intérieur entité dans la chaîne. | |
TableName | string | Nom logique de la table liée (par exemple | |
To | string | Colonne sur la table parente (ou entité parente lien) à rejoindre à (par |
FromJoinTypeJoinOperator.InnerLinkedEntityTableNameToPartage d’une source de données entre une grille et un graphique
A ViewDataSource peut piloter un MainGrid et un (ou plusieurs) DataverseChart composants en parfaite synchronisation. Un aller-retour serveur renvoie la page de ligne et l’agrégation du graphique de façon atomique, donc il n’y a pas de course où le graphique affiche les chiffres d’un ancien filtre alors que la grille est sur un nouveau. La recherche, le tri, la page et la vue des changements sur les deux consommateurs passent par la même source de données.
Construisons la source de données dans OnInitialized (de sorte que l’injecté IGridService soit disponible) et la transmets aux deux vues via DataSource. La grille affiche la page de ligne ; le graphique rend AggregationResults[AggregationIndex]. Plusieurs agrégations sont prises en charge — chaque entrée alimente un graphique distinct pointant vers la même source de données.
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() {
// Un appel useViewDataSource alimente les deux consommateurs — la page ligne et
// les agrégations se produisent en une seule réponse, maintenues atomiquement cohérentes.
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();
}
}Cliquer sur une tranche de graphique définit la , de Highlightla source de données, ce qui atténue les lignes non correspondantes dans la grille appariée (et les tranches non correspondantes dans le graphique) sans re-récupérer. Cliquez à nouveau sur la même tranche pour nettoyer. Pour une navigation à travers les exercices ou un filtre rigide, réglez CrossFilterMode="ChartCrossFilterMode.None" et gérez-vous OnElementClick .
