Chart-API-Referenz
Diese Seite dokumentiert jede öffentliche Klasse, Schnittstelle und jedes Enum in der PowerPortalsPro-Charting-Bibliothek.
Komponenten
Die Blazor-Komponenten, die Diagramme rendern.
FluentUIChart
Ein thematisches Wrapper um die Basiskomponente Chart . Liest Farben aus den aktiven Fluent-UI-Designtokens, füllt die Farben des Datensatzes automatisch aus einer von Fluent abgeleiteten Palette aus und gestaltet das Diagramm neu, wenn der Benutzer zwischen Hell- und Dunkelmodus wechselt.
FluentUIChart Baureihe
Parameter
Name | Typ | Default | Beschreibung |
|---|---|---|---|
Datasets | List<ChartDataset> | Erhält oder setzt die Datensätze zum Plotten. Jeder Datensatz, der verlässt ChartDataset.BackgroundColor oder ChartDataset.BorderColor null wird automatisch aus der aktiven Fluent-Palette gefüllt. | |
EnableAnimation | bool | True | Ob Diagrammanimationen aktiviert sind. Standardmäßig steht |
Height | string? | 400px | Erhält oder setzt die optionale CSS-Höhe, die auf den Chart-Container angewendet wird. Standardmäßig steht |
Labels | List<string> | Erhält oder setzt die Kategorielabels, die entlang der Hauptachse des Diagramms gerendert werden. | |
LegendPosition | ChartLegendPosition? | Legendenplatzierung relativ zum Kartenbereich, oder ChartLegendPosition.Hidden um es ganz zu verbergen. Wenn ChartLegendPosition.Top) wird verwendet. | |
Orientation | ChartOrientation? | Diagrammorientierung. Wenn ChartOrientation.Horizontal, erscheinen Kategorien auf der Y-Achse und Werte auf der X-Achse. Funnel-Diagramme sind standardmäßig horizontal für einen Top-Down-Funnel. Wenn | |
ShowBorder | bool | True | Ob man das Diagramm in einen thematischen Rand mit abgerundeten Ecken wickelt. Standardmäßig steht |
Stacked | bool | False | Ob man Datensätze übereinander stapeln sollte und nicht nebeneinander. Gilt für Balken- und Liniendiagramme. |
Title | string? | Der Charttitel wird über dem Diagramm angezeigt. Wenn null, wird kein Titel angezeigt. | |
Type | ChartType | Bar | Erhält oder setzt den Diagrammtyp so, dass er rendert (zum Beispiel ChartType.Bar, ChartType.Line, ChartType.Pie, ChartType.Doughnut). |
Width | string? | Erhält oder setzt die optionale CSS-Breite, die auf den Chartcontainer angewendet wird. | |
XAxisPrefix | string? | Optionale Zeichenkette, die jedem X-Achsen-Tick-Label vorangestellt wird. | |
XAxisSuffix | string? | Optionale Zeichenkette, die jedem X-Achsen-Tick-Label hinzugefügt wird. | |
YAxisPrefix | string? | Optionale Zeichenkette, die jedem Y-Achsen-Tick-Label und Tooltip-Wert vorangebracht wird (zum Beispiel | |
YAxisSuffix | string? | Optionale Zeichenkette, die jedem Y-Achsen-Tick-Label und Tooltip-Wert angehängt wird (zum Beispiel |
DatasetsChartDataset.BackgroundColor oder ChartDataset.BorderColor null wird automatisch aus der aktiven Fluent-Palette gefüllt.EnableAnimationHeightLabelsLegendPositionChartLegendPosition.Hidden um es ganz zu verbergen. Wenn ChartLegendPosition.Top) wird verwendet.OrientationChartOrientation.Horizontal, erscheinen Kategorien auf der Y-Achse und Werte auf der X-Achse. Funnel-Diagramme sind standardmäßig horizontal für einen Top-Down-Funnel. Wenn ShowBorderStackedTitleTypeChartType.Bar, ChartType.Line, ChartType.Pie, ChartType.Doughnut).WidthXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixVeranstaltungen
Name | Typ | Beschreibung |
|---|---|---|
OnElementClick | EventCallback<ChartClickEventArgs> | Erhöht, wenn der Benutzer auf ein gerendertes Diagrammelement klickt (eine Leiste, einen Schnitt, einen Punkt usw.). Weitergeleitet auf das zugrundeliegende Components.ChartKonto; Klicks auf den Diagrammhintergrund werden ignoriert. |
OnElementClickComponents.ChartKonto; Klicks auf den Diagrammhintergrund werden ignoriert.Methoden
Name | Parameter | Typ | Beschreibung |
|---|---|---|---|
ExportAsImageAsync | Task<string> | Exportiert das aktuelle Diagramm als PNG-Bild und gibt die Daten als Base64-codierte Daten zurück data-URI (z. B. |
ExportAsImageAsyncDataverseChart
Eine Convenience-Komponente, die den Datenladezyklus umwickelt FluentUIChart und besitzt. Akzeptiert einen DataverseChartDataSource, verwaltet den Ladezustand und die Fehleranzeige und bietet optional eine Aktualisierungstaste.
DataverseChart Baureihe
Parameter
Name | Typ | Default | Beschreibung |
|---|---|---|---|
AggregationIndex | int | 0 | Welcher Eintrag in ViewDataSource.AggregationResults zum Rendern. Standardmäßig steht DataverseChart.Source es stattdessen verwendet wird. |
CrossFilterMode | ChartCrossFilterMode | Highlight | Slice-Click-Verhalten, wenn ein DataverseChart.DataSource bereitgestellt wird. Standardmäßig steht auf ChartCrossFilterMode.Highlight — weich Kreuzfilter, der den abgestimmten Schnitt betont und das Geschwister dimmt Nicht übereinstimmende Zeilen ohne erneutes Abrufen. Die vom Verbraucher bereitgestellten DataverseChart.OnElementClick feuert weiterhin nebeneinander, für geschichtet Telemetrie / Drill-Through-Verhalten. Ignoriert, wenn DataverseChart.Source wird verwendet. |
DataSource | ViewDataSource? | Geteilte Instanz Data.ViewDataSource (typischerweise auch fuhr ein gepaartes DataverseChart.Source. Das Diagramm liest seine Daten reaktiv aus aus und ViewDataSource.AggregationResults Sendet den Zustand Cross-Filter auf Slice Clicks per DataverseChart.CrossFilterMode. Dann ein Server-Roundtrip behält die Zeilenseite des Rasters und die Aggregation der Grafik atomar Konsistent. | |
DefaultViewId | Guid? | Optionale Standard-Ansichts-ID zum Vorauswählen im Ansichts-Dropdown. Wenn nicht gesetzt, der erste Ansicht in DataverseChart.ViewIds (oder die Standardansicht der Tabelle) ausgewählt ist. | |
EnableAnimation | bool | True | Ob Diagrammanimationen aktiviert sind. Standardmäßig steht |
Height | string? | 400px | Optionale CSS-Höhe wurde auf die gesamte Komponente angewendet (einschließlich des View-Selectors) Dropdown und thematisch Rand, wenn gezeigt). Das interne Horoskop füllt den beliebigen Raum bleibt nach der Symbolleiste und dem Selektor. Standardmäßig steht |
LegendPosition | ChartLegendPosition? | Legendenplatzierung relativ zum Kartenbereich, oder ChartLegendPosition.Hidden um es ganz zu verbergen. Wenn ChartLegendPosition.Top) wird verwendet. | |
Orientation | ChartOrientation? | Diagrammorientierung. Funnel-Diagramme werden standardmäßig auf ChartOrientation.Horizontal für einen Top-Down-Trichter. Wenn | |
ShowBorder | bool | True | Ob man das Diagramm in einen thematischen Rand mit abgerundeten Ecken wickelt. Standardmäßig steht |
ShowExportButton | bool | True | Ob ein Download-Button angezeigt werden soll, der das Diagramm als PNG-Bild exportiert. Standardmäßig steht |
ShowRefreshButton | bool | True | Ob ein Aktualisierungsbutton oben rechts in der Grafik angezeigt werden soll. Standardmäßig steht |
Source | DataverseChartDataSource? | Eigenständige, kursbasierte Datenquelle. Gegenseitig ausschließend mit DataverseChart.DataSource — genau eines von beiden muss geliefert. Mit DataverseChart.Source, besitzt diese Komponente die Laden + aktualisieren Lebenszyklus und Dispatches durch Services.IChartService direkt. Verwenden, wenn ein Horoskop seine Eigenschaft besitzt Own Fetch (kein gepaartes Raster). | |
Stacked | bool | False | Ob man Datensätze übereinander stapeln sollte und nicht nebeneinander. |
Title | string? | Der Charttitel wird über dem Diagramm angezeigt. Wenn null, wird kein Titel angezeigt. | |
Type | ChartType | Bar | Der Diagrammtyp zum Rendern. |
ViewIds | List<Guid>? | Optionale Liste von Dataverse-Ansichts-IDs, die in einem Dropdown-Menü über der Grafik angezeigt werden. Wenn die Der Benutzer wählt eine Ansicht aus, deren Filterbedingungen in die Datenquelle und das Diagramm integriert werden lädt nach. Arbeitet mit Components.AggregateDataverseChartDataSource und Components.ViewDataverseChartDataSource. | |
Width | string? | Optionale CSS-Breite wird auf den Chart-Container angewendet. | |
XAxisPrefix | string? | Optionale Zeichenkette, die jedem X-Achsen-Tick-Label vorangestellt wird. | |
XAxisSuffix | string? | Optionale Zeichenkette, die jedem X-Achsen-Tick-Label hinzugefügt wird. | |
YAxisPrefix | string? | Optionale Zeichenkette, die jedem Y-Achsen-Tick-Label und Tooltip-Wert (z. B. | |
YAxisSuffix | string? | Optionaler String, der an jedes Y-Achsen-Tick-Label und jeden Tooltip-Wert angehängt wird (z. B. |
AggregationIndexViewDataSource.AggregationResults zum Rendern. Standardmäßig steht DataverseChart.Source es stattdessen verwendet wird.CrossFilterModeDataverseChart.DataSource bereitgestellt wird. Standardmäßig steht auf ChartCrossFilterMode.Highlight — weich Kreuzfilter, der den abgestimmten Schnitt betont und das Geschwister dimmt Nicht übereinstimmende Zeilen ohne erneutes Abrufen. Die vom Verbraucher bereitgestellten DataverseChart.OnElementClick feuert weiterhin nebeneinander, für geschichtet Telemetrie / Drill-Through-Verhalten. Ignoriert, wenn DataverseChart.Source wird verwendet.DataSourceData.ViewDataSource (typischerweise auch fuhr ein gepaartes DataverseChart.Source. Das Diagramm liest seine Daten reaktiv aus aus und ViewDataSource.AggregationResults Sendet den Zustand Cross-Filter auf Slice Clicks per DataverseChart.CrossFilterMode. Dann ein Server-Roundtrip behält die Zeilenseite des Rasters und die Aggregation der Grafik atomar Konsistent.DefaultViewIdDataverseChart.ViewIds (oder die Standardansicht der Tabelle) ausgewählt ist.EnableAnimationHeightLegendPositionChartLegendPosition.Hidden um es ganz zu verbergen. Wenn ChartLegendPosition.Top) wird verwendet.OrientationChartOrientation.Horizontal für einen Top-Down-Trichter. Wenn ShowBorderShowExportButtonShowRefreshButtonSourceDataverseChart.DataSource — genau eines von beiden muss geliefert. Mit DataverseChart.Source, besitzt diese Komponente die Laden + aktualisieren Lebenszyklus und Dispatches durch Services.IChartService direkt. Verwenden, wenn ein Horoskop seine Eigenschaft besitzt Own Fetch (kein gepaartes Raster).StackedTitleTypeViewIdsComponents.AggregateDataverseChartDataSource und Components.ViewDataverseChartDataSource.WidthXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixVeranstaltungen
Name | Typ | Beschreibung |
|---|---|---|
OnElementClick | EventCallback<ChartClickEventArgs> | Erhöht, wenn der Nutzer auf ein gerendertes Diagrammelement klickt. |
OnElementClickKartentypen & Enums
Aufzählungen für die Auswahl des Diagrammtyps und die Datumsverteilung.
ChartType
Die Menge der Diagrammtypen, die von der zugrundeliegenden Chart.js Bibliothek unterstützt werden: Bar, Line, Pie, Donut, PolarArea, Radar, Bubble und Scatter.
ChartType Enum
Values
Name | Value | Beschreibung |
|---|---|---|
Bar | 0 | Vertikales Balkendiagramm (Chart.js |
Line | 1 | Liniendiagramm (Chart.js |
Pie | 2 | Tortendiagramm (Chart.js |
Doughnut | 3 | Donut-Diagramm (Chart.js |
PolarArea | 4 | Polarflächendiagramm (Chart.js |
Radar | 5 | Radarkarte (Chart.js |
Bubble | 6 | Blasendiagramm (Chart.js |
Scatter | 7 | Streudiagramm (Chart.js |
Funnel | 8 | Funnel-Diagramm (über |
Bar0Line1Pie2Doughnut3PolarArea4Radar5Bubble6Scatter7Funnel8ChartDateGrouping
Datums-Bucket-Intervalle zur Gruppierung von Datumszeit-Spalten in aggregierten Abfragen. Enthält einfache Werte (Tag, Monat, Jahr) und kombinierte Werte (MonthAndYear, QuarterAndYear usw.), die formatierte Labels wie "Jan 2024". erzeugen.
ChartDateGrouping Enum
Values
Name | Value | Beschreibung |
|---|---|---|
None | 0 | Keine Datumsgruppierung – die Spalte ist nach ihrem Rohwert gruppiert. |
Day | 1 | Gruppieren nach Tag ( |
Week | 2 | Gruppieren nach ISO-Woche ( |
Month | 3 | Gruppieren nach Kalendermonat ( |
Quarter | 4 | Gruppieren nach Kalenderquartal ( |
Year | 5 | Gruppieren nach Kalenderjahr ( |
MonthAndYear | 6 | Gruppieren nach Monat + Jahr. Etikett: |
DayAndMonth | 7 | Gruppe nach Tag + Monat. Etikett: |
DayAndMonthAndYear | 8 | Gruppieren nach Tag + Monat + Jahr. Etikett: |
WeekAndYear | 9 | Gruppiert nach ISO Woche + Jahr. Label: |
QuarterAndYear | 10 | Gruppe nach Quartal + Jahr. Etikett: |
None0Day1Week2Month3Quarter4Year5MonthAndYear6DayAndMonth7DayAndMonthAndYear8WeekAndYear9QuarterAndYear10Datenmodell
Die Klassen und Schnittstellen, die Diagrammdaten, Datenpunkte, Theming und Klick-Event-Payloads darstellen.
ChartData
Bündelt die vollständig geformten Daten, die zur Darstellung eines Diagramms benötigt werden: eine Liste von Kategorielabels (X-Achse) und ein oder mehrere Datensätze. Zurückgegeben von Datenquellenmethoden LoadAsync .
ChartData Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
Datasets | List<ChartDataset> | Datensätze zum Plotten. Jedes Datensatz ChartDataset.Data Die Länge sollte übereinstimmen ChartData.Labels; fehlende Eimer sind vom Server nullgefüllt, sodass die Positionsausrichtung erhalten bleibt über verschiedene Serien hinweg. | |
Labels | List<string> | Kategorienlabels entlang der Hauptachse gerendert. |
DatasetsChartDataset.Data Die Länge sollte übereinstimmen ChartData.Labels; fehlende Eimer sind vom Server nullgefüllt, sodass die Positionsausrichtung erhalten bleibt über verschiedene Serien hinweg.LabelsChartDataset
Repräsentiert einen einzelnen Datensatz (Serie) in einem Diagramm. Enthält Datenpunkte, ein Legendenlabel und optionale Farbüberschreibungen für Hintergrund und Rand.
ChartDataset Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
BackgroundColor | string? | Standard-Hintergrundfarbe für jedes Element in diesem Datensatz für Kartesische Horoskoptypen. Für Radialkartentypen pro Punkt DataPoint.BackgroundColor Overrides gewinnen. Wenn | |
BorderColor | string? | Standard-Randfarbe. Gleiche Präzedenzsemantik wie ChartDataset.BackgroundColor. | |
BorderWidth | double | 1 | Elementränderbreite in Pixeln. Fraktionelle Werte werden unterstützt (z. B. |
Data | List<DataPoint> | Datenpunkte in diesem Datensatz. Die Elemente sind Models.DataPoint oder eine Unterklasse (Models.DataverseDataPoint wenn die Datenquelle wird von Dataverse unterstützt). Der polymorphe '$type'-Diskriminator ist erhalten durch JSON. | |
Label | string | Legendenbezeichnung für diesen Datensatz (z. B. |
BackgroundColorDataPoint.BackgroundColor Overrides gewinnen. Wenn BorderColorChartDataset.BackgroundColor.BorderWidthDataModels.DataPoint oder eine Unterklasse (Models.DataverseDataPoint wenn die Datenquelle wird von Dataverse unterstützt). Der polymorphe '$type'-Diskriminator ist erhalten durch JSON.LabelDataPoint
Standardimplementierung von IDataPoint. Unterklasse, um aufruferdefinierten Kontext (Datensatz-ID, Region usw.) anzuhängen, der für Klick-Handler verfügbar sein wird.
DataPoint Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
BackgroundColor | string? | Punkt-Hintergrundfarbe. Verwendet von radialen Diagrammtypen (Pie, Donut, polarArea), um einzelne Segmente deutlich zu färben. Wenn | |
BorderColor | string? | Randfarbe pro Punkt. Gleiche Semantik wie DataPoint.BackgroundColor. | |
Value | double | 0 | Der numerische Wert, der von Chart.js dargestellt wird. |
BackgroundColorBorderColorDataPoint.BackgroundColor.ValueDataverseDataPoint
Eine Implementierung, die das zugrundeliegende Dataverse TableRecord beibehält, von dem IDataPoint sie projiziert wurde. Klickhandler können bei diesem Typ ein Muster abgleichen, um auf die ID, den Tabellennamen und die Spaltenwerte der Zeile zuzugreifen.
DataverseDataPoint Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
BackgroundColor | string? | Punkt-Hintergrundfarbe. Verwendet von radialen Diagrammtypen (Pie, Donut, polarArea), um einzelne Segmente deutlich zu färben. Wenn | |
BorderColor | string? | Randfarbe pro Punkt. Gleiche Semantik wie DataPoint.BackgroundColor. | |
Record | TableRecord? | Die Dataverse-Zeile, aus der dieser Datenpunkt projiziert wurde. Nullierbar Weil Null-gefüllte Eimer in einem Mehrserien-Pivot kein Ursprüngliche Aufnahme. | |
Value | double | 0 | Der numerische Wert, der von Chart.js dargestellt wird. |
BackgroundColorBorderColorDataPoint.BackgroundColor.RecordValueChartTheme
Themen- und Formatierungsüberschreibungen, die auf eine Karteninstanz angewendet werden – Textfarbe, Gitterlinienfarbe, Y-Achsen-Wertformatierung (Präfix/Suffix), Diagrammtitel, gestapelter Modus und Legendenposition.
ChartTheme Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
EnableAnimation | bool | True | Bekommt oder bestimmt, ob Diagrammanimationen aktiviert sind. Standardmäßig steht |
GridColor | string? | Erhält oder setzt die Farbe, die für Achsengitterlinien und Ränder verwendet wird. | |
IndexAxis | ChartIndexAxis? | Die Chart.js Kategorie-Achse-Richtung. Gesetzt von der Komponentenschicht aus dem Aufrufer Components.ChartOrientation via Components.ChartOrientation); Konsumenten sollten Components.ChartIndexAxis). | |
LegendPosition | ChartLegendPosition? | Legendenplatzierung relativ zum Kartenbereich, oder ChartLegendPosition.Hidden um es ganz zu verbergen. Wenn Components.ChartLegendPosition). | |
Stacked | bool | False | Bekommt oder bestimmt, ob die X- und Y-Achse gestapelt sind. Wenn zutreffend, werden Datensätze darauf gestapelt voneinander, statt nebeneinander dargestellt zu werden. Gilt für Balken- und Liniendiagramme. |
TextColor | string? | Erhält oder setzt die Farbe, die für Standardtext, Legendenbeschriftungen, Achsenkreuze und Titel verwendet wird. | |
Title | string? | Erhält oder setzt den Diagrammtitel, der über dem Diagramm angezeigt wird. Wenn null, wird kein Titel angezeigt. | |
XAxisPrefix | string? | Erhält oder setzt eine Zeichenkette, die jedem X-Achsen-Tick-Label zugeordnet wird (zum Beispiel | |
XAxisSuffix | string? | Erhält oder setzt eine Zeichenkette, die jedem X-Achsen-Tick-Label angehängt wird. Wenn null, wird kein Suffix verwendet. | |
YAxisPrefix | string? | Erhält oder setzt eine Zeichenkette, die jedem Y-Achsen-Tick-Label und Tooltip-Wert zugeordnet ist (zum Beispiel | |
YAxisSuffix | string? | Erhält oder setzt eine Zeichenkette, die jedem Y-Achsen-Tick-Label und Tooltip-Wert angehängt wird. (zum Beispiel |
EnableAnimationGridColorIndexAxisComponents.ChartOrientation via Components.ChartOrientation); Konsumenten sollten Components.ChartIndexAxis).LegendPositionChartLegendPosition.Hidden um es ganz zu verbergen. Wenn Components.ChartLegendPosition).StackedTextColorTitleXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixChartClickEventArgs
Nutzlast, die einen Klick auf ein einzelnes Diagrammelement (Balken, Slice, Punkt usw.) beschreibt. Enthält den Dataset-Index, Datenindex, Label, Wert, Datensatz-Label und die ursprüngliche IDataPoint Instanz zur Mustererkennung.
ChartClickEventArgs Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
DataIndex | int | 0 | Der nullbasierte Index des Datenpunkts innerhalb seines Datensatzes. |
DataPoint | DataPoint? | Die tatsächliche Models.DataPoint Instanz, die das geklickte Element unterstützt. Musterabgleich mit deiner benutzerdefinierten Unterklasse (z. B. Models.DataverseDataPoint), um darauf zuzugreifen Anrufer-definierter Kontext (Datensatz-ID, Kategorie usw.). Kann | |
DatasetIndex | int | 0 | Der nullbasierte Index des Datensatzes, der das angeklickte Element enthält. |
DatasetLabel | string | Das Label des Datensatzes, zu dem das angeklickte Element gehört (zum Beispiel | |
Label | string | Das Kategorielabel, das mit dem angeklickten Element verbunden ist (zum Beispiel | |
Value | double | 0 | Der numerische Wert des angeklickten Datenpunkts. |
DataIndexDataPointModels.DataPoint Instanz, die das geklickte Element unterstützt. Musterabgleich mit deiner benutzerdefinierten Unterklasse (z. B. Models.DataverseDataPoint), um darauf zuzugreifen Anrufer-definierter Kontext (Datensatz-ID, Kategorie usw.). Kann DatasetIndexDatasetLabelLabelValueDatenquellen
Datenquellenklassen, die Diagrammdaten aus Dataverse über FetchXML-Abfragen laden.
DataverseChartDataSource
Basis-Datenquellenklasse, die rohe FetchXML- und Spaltenabbildungen akzeptiert. Führt die Abfrage über IPowerPortalsProServiceaus, übernimmt RelatedRecordValue das Unwraping für aggregierte Ergebnisse und formt Zeilen in Einzel- oder Mehrreihen ChartData.
DataverseChartDataSource Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
FetchXml | string? | Die FetchXML-Abfrage soll ausgeführt werden. Die Basisklasse sendet dies in die direkt anfordern; Unterklassenübersteuerung Models.ChartDataRequest) um einen anderen Eingabemodus zu verwenden. | |
LabelColumn | string | Der resultierende Spaltenname, der für Diagrammbezeichnungen verwendet wird (X-Achse). Für rohe Arbeiten FetchXML – dies ist der logische Name des Attributs (oder sein Alias, falls einer wurde im FetchXML spezifiziert). | |
SeriesColumn | string? | Optionaler Ergebnis-Spaltenname verwendet zur Aufteilung von Zeilen in mehrere Datensätze. Wenn gesetzt, sind Zeilen mit demselben Reihenwert in einem Datensatz zusammengefasst. | |
SingleSeriesLabel | string | Optionale Datensatzbeschriftung, die auf den einzelnen emittierten Datensatz angewendet wird, wenn DataverseChartDataSource.SeriesColumn nicht festgelegt ist. Verwendung von Multiserien-Abfragen den formatierten Serienwert als Datensatzbeschriftung und ignorieren Sie dies. | |
ValueColumn | string | Der resultierende Spaltenname, aus dem numerische Werte abgelesen werden kann. Muss beziehen Sie sich auf eine numerische Spalte in den zurückgegebenen Zeilen. |
FetchXmlModels.ChartDataRequest) um einen anderen Eingabemodus zu verwenden.LabelColumnSeriesColumnSingleSeriesLabelDataverseChartDataSource.SeriesColumn nicht festgelegt ist. Verwendung von Multiserien-Abfragen den formatierten Serienwert als Datensatzbeschriftung und ignorieren Sie dies.ValueColumnMethoden
Name | Parameter | Typ | Beschreibung |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | Lädt Diagrammdaten über das geteilte Services.IChartService. |
LoadAsyncServices.IChartService.AggregateDataverseChartDataSource
Eine Unterklasse, die eine aggregierte FetchXML-Abfrage aus einfachen Eigenschaften (TableName, GroupByColumn, AggregateColumn, Aggregate) erstellt, anstatt rohes FetchXML zu benötigen. Unterstützt Date-Bucketing, Multi-Series, ansichtsbasierte Filterung, Inline-Filterfragmente und verknüpfte Entitäts-Joins.
AggregateDataverseChartDataSource Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
Aggregate | AggregateType | Sum | Die aggregierte Funktion angewandt auf AggregateDataverseChartDataSource.AggregateColumn. |
AggregateColumn | string | Die Dataverse-Spalte zum Aggregieren. Für AggregateType.Count Jede Kolumne funktioniert. Mengen DataverseChartDataSource.ValueColumn Auf der Basis Klasse, damit sie synchron bleiben. | |
FetchXml | string? | Die FetchXML-Abfrage soll ausgeführt werden. Die Basisklasse sendet dies in die direkt anfordern; Unterklassenübersteuerung Models.ChartDataRequest) um einen anderen Eingabemodus zu verwenden. | |
FilterXml | string? | Optionales rohes FetchXML-Filterfragment, das in das Fragment injiziert werden kann generierte Abfrage (ein vollständiger | |
GroupByColumn | string | Die Spalte Dataverse, nach der gruppiert werden — wird zur X-Achse des Diagramms. Etiketten. Mengen DataverseChartDataSource.LabelColumn auf der Basisklasse, damit sie synchron bleiben. | |
GroupByDateGrouping | ChartDateGrouping | None | Wenn AggregateDataverseChartDataSource.GroupByColumn eine Date-Time-Spalte ist, steuert Wie die Daten eingeteilt werden. |
GroupByLinkedEntity | ChartLinkedEntity? | Optionale Linked-Entity-Kette für AggregateDataverseChartDataSource.GroupByColumn. Wenn gesetzt, wird das Groupby-Attribut innerhalb der Link-Entität platziert im generierten FetchXML. | |
LabelColumn | string | Der resultierende Spaltenname, der für Diagrammbezeichnungen verwendet wird (X-Achse). Für rohe Arbeiten FetchXML – dies ist der logische Name des Attributs (oder sein Alias, falls einer wurde im FetchXML spezifiziert). | |
SeriesColumn | string? | Optionaler Ergebnis-Spaltenname verwendet zur Aufteilung von Zeilen in mehrere Datensätze. Wenn gesetzt, sind Zeilen mit demselben Reihenwert in einem Datensatz zusammengefasst. | |
SeriesDateGrouping | ChartDateGrouping | None | Optionale Datumsgruppierung für die Serie – angewendet auf dieselbe Spalte als AggregateDataverseChartDataSource.GroupByColumn. Verwendung von Jahres-zu-Jahres-Charts ChartDateGrouping.Month auf AggregateDataverseChartDataSource.GroupByDateGrouping und ChartDateGrouping.Year auf diesem Grundstück. Wenn gesetzt, DataverseChartDataSource.SeriesColumn wird ignoriert. |
SeriesLinkedEntity | ChartLinkedEntity? | Optionale Linked-Entity-Kette für DataverseChartDataSource.SeriesColumn. | |
SingleSeriesLabel | string | Optionale Datensatzbeschriftung, die auf den einzelnen emittierten Datensatz angewendet wird, wenn DataverseChartDataSource.SeriesColumn nicht festgelegt ist. Verwendung von Multiserien-Abfragen den formatierten Serienwert als Datensatzbeschriftung und ignorieren Sie dies. | |
TableName | string | Die Dataverse-Tabelle zum Abfragen (z. B. | |
Top | int? | Optionale maximale Anzahl gruppierter Zeilen zum Zurücksenden. | |
ValueColumn | string | Der resultierende Spaltenname, aus dem numerische Werte abgelesen werden kann. Muss beziehen Sie sich auf eine numerische Spalte in den zurückgegebenen Zeilen. | |
ViewId | Guid? | Optionale gespeicherte Ansicht-ID. Wenn gesetzt, sind die Filterbedingungen der Ansicht werden in die generierte aggregierte Abfrage eingefügt. Bestimmt, welche Aufnahmen sind enthalten; Die aggregierte Konfiguration bestimmt, wie sie sind gruppiert. |
AggregateAggregateDataverseChartDataSource.AggregateColumn.AggregateColumnAggregateType.Count Jede Kolumne funktioniert. Mengen DataverseChartDataSource.ValueColumn Auf der Basis Klasse, damit sie synchron bleiben.FetchXmlModels.ChartDataRequest) um einen anderen Eingabemodus zu verwenden.FilterXmlGroupByColumnDataverseChartDataSource.LabelColumn auf der Basisklasse, damit sie synchron bleiben.GroupByDateGroupingAggregateDataverseChartDataSource.GroupByColumn eine Date-Time-Spalte ist, steuert Wie die Daten eingeteilt werden.GroupByLinkedEntityAggregateDataverseChartDataSource.GroupByColumn. Wenn gesetzt, wird das Groupby-Attribut innerhalb der Link-Entität platziert im generierten FetchXML.LabelColumnSeriesColumnSeriesDateGroupingAggregateDataverseChartDataSource.GroupByColumn. Verwendung von Jahres-zu-Jahres-Charts ChartDateGrouping.Month auf AggregateDataverseChartDataSource.GroupByDateGrouping und ChartDateGrouping.Year auf diesem Grundstück. Wenn gesetzt, DataverseChartDataSource.SeriesColumn wird ignoriert.SeriesLinkedEntityDataverseChartDataSource.SeriesColumn.SingleSeriesLabelDataverseChartDataSource.SeriesColumn nicht festgelegt ist. Verwendung von Multiserien-Abfragen den formatierten Serienwert als Datensatzbeschriftung und ignorieren Sie dies.TableNameTopValueColumnViewIdMethoden
Name | Parameter | Typ | Beschreibung |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | Lädt Diagrammdaten über das geteilte Services.IChartService. |
LoadAsyncServices.IChartService.ViewDataverseChartDataSource
Eine Unterklasse, die ihr FetchXML aus einer gespeicherten Dataverse-Ansicht (gespeicherte Abfrage) auflöst. Der Aufrufer setzt LabelColumn weiterhin und ValueColumn an, um anzuzeigen, welche Spalten auf Labels und Werte abgebildet sind.
ViewDataverseChartDataSource Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
FetchXml | string? | Die FetchXML-Abfrage soll ausgeführt werden. Die Basisklasse sendet dies in die direkt anfordern; Unterklassenübersteuerung Models.ChartDataRequest) um einen anderen Eingabemodus zu verwenden. | |
LabelColumn | string | Der resultierende Spaltenname, der für Diagrammbezeichnungen verwendet wird (X-Achse). Für rohe Arbeiten FetchXML – dies ist der logische Name des Attributs (oder sein Alias, falls einer wurde im FetchXML spezifiziert). | |
SeriesColumn | string? | Optionaler Ergebnis-Spaltenname verwendet zur Aufteilung von Zeilen in mehrere Datensätze. Wenn gesetzt, sind Zeilen mit demselben Reihenwert in einem Datensatz zusammengefasst. | |
SingleSeriesLabel | string | Optionale Datensatzbeschriftung, die auf den einzelnen emittierten Datensatz angewendet wird, wenn DataverseChartDataSource.SeriesColumn nicht festgelegt ist. Verwendung von Multiserien-Abfragen den formatierten Serienwert als Datensatzbeschriftung und ignorieren Sie dies. | |
ValueColumn | string | Der resultierende Spaltenname, aus dem numerische Werte abgelesen werden kann. Muss beziehen Sie sich auf eine numerische Spalte in den zurückgegebenen Zeilen. | |
ViewId | Guid | 00000000-0000-0000-0000-000000000000 | Die eindeutige Identifikatorin der gespeicherten Ansicht von Dataverse zum Laden. Die server holt bei jedem Aufruf sein FetchXml (nicht zwischengespeichert schichten; ViewMetadataCache übernimmt das Caching serverseitig). |
FetchXmlModels.ChartDataRequest) um einen anderen Eingabemodus zu verwenden.LabelColumnSeriesColumnSingleSeriesLabelDataverseChartDataSource.SeriesColumn nicht festgelegt ist. Verwendung von Multiserien-Abfragen den formatierten Serienwert als Datensatzbeschriftung und ignorieren Sie dies.ValueColumnViewIdMethoden
Name | Parameter | Typ | Beschreibung |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | Lädt Diagrammdaten über das geteilte Services.IChartService. |
LoadAsyncServices.IChartService.ChartLinkedEntity
Beschreibt eine verknüpfte Entität (Join), die von verwendet wird AggregateDataverseChartDataSource , um ein Groupby- oder Serienattribut in eine verwandte Tabelle zu setzen. Unterstützt unbegrenztes Verschachteln über die LinkedEntity Eigenschaft für Multi-Hop-Joins (z. B. Opportunity → Konto → Geschäftseinheit).
ChartLinkedEntity Baureihe
Eigenschaften
Name | Typ | Default | Beschreibung |
|---|---|---|---|
From | string | Spalte in der verknüpften Tabelle, die den Join-Schlüssel bereitstellt (z. B. | |
JoinType | JoinOperator | Inner | Join-Typ. Standardmäßig gilt JoinOperator.Inner. |
LinkedEntity | ChartLinkedEntity? | Optionale kindlich verknüpfte Entität für Mehrfach-Hop-Joins. Die Groupby/Serien-Attribut wird auf das innerste Element gesetzt Entität in der Kette. | |
TableName | string | Logischer Name der verknüpften Tabelle (z. B. | |
To | string | Spalte in der Elterntabelle (oder der übergeordneten Link-Entität), der man sich anschließen kann (z. B. |
FromJoinTypeJoinOperator.Inner.LinkedEntityTableNameToTeilen einer Datenquelle zwischen einem Raster und einem Diagramm
A ViewDataSource kann a MainGrid und eine (oder mehr) DataverseChart Komponenten im Gleichschritt antreiben. Ein Server-Roundtrip gibt die Zeilenseite und die Diagrammaggregation atomar zurück, sodass es kein Rennen gibt, bei dem das Diagramm Zahlen für einen alten Filter anzeigt, während das Raster auf einem neuen ist. Suche, sortieren, Seiten und sehen Sie Änderungen auf beiden Konsumenten über dieselbe Datenquelle an.
Konstruiere die Datenquelle in OnInitialized (damit die injizierte IGridService verfügbar ist) und übergebe sie an beide Ansichten über DataSource. Das Raster stellt die Zeilenseite dar; Das Diagramm rendert AggregationResults[AggregationIndex]. Mehrere Aggregationen werden unterstützt – jeder Eintrag erzeugt ein separates Diagramm, das auf dieselbe Datenquelle zeigt.
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() {
// Ein useViewDataSource-Aufruf unterstützt beide Konsumenten – die Zeilenseite und
// Die Aggregationen landen in einer einzigen Antwort, die atomar konsistent gehalten wird.
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();
}
}Das Klicken auf einen Diagrammschnitt setzt die Datenquelle Highlight, wodurch nicht übereinstimmende Zeilen im gepaarten Raster (und nicht übereinstimmende Schnitte im Diagramm) ohne erneutes Abrufen gedimmt werden. Klicke erneut auf denselben Slice, um ihn zu löschen. Für Drill-Through-Navigation oder einen harten Filter solltest du dich selbst einstellen CrossFilterMode="ChartCrossFilterMode.None" und beherrschen OnElementClick .
