Referência da API de Gráficos
Esta página documenta todas as classes públicas, interfaces e enum na biblioteca de gráficos PowerPortalsPro.
Componentes
Os componentes Blazor que renderizam gráficos.
FluentUIChart
Um wrapper consciente do tema ao redor do componente base Chart . Lê as cores dos tokens ativos de design da interface do Fluent, preenche automaticamente as cores do conjunto de dados a partir de uma paleta derivada do Fluent e retematiza o gráfico quando o usuário alterna entre o modo claro e escuro.
FluentUIChart Classe
Parâmetros
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
Datasets | List<ChartDataset> | Obtém ou configura os conjuntos de dados para plotar. Qualquer conjunto de dados que sai ChartDataset.BackgroundColor ou ChartDataset.BorderColor null será preenchido automaticamente a partir da paleta ativa do Fluent. | |
EnableAnimation | bool | True | Se as animações de gráficos estão ativadas. O padrão é |
Height | string? | 400px | Recebe ou define a altura opcional de CSS aplicada ao contêiner do mapa. O padrão é |
Labels | List<string> | Recebe ou define os rótulos de categoria renderizados ao longo do eixo primário do gráfico. | |
LegendPosition | ChartLegendPosition? | Posicionamento da legenda em relação à área do mapa, ou ChartLegendPosition.Hidden para esconder tudo completamente. Quando ChartLegendPosition.Top) é usado. | |
Orientation | ChartOrientation? | Orientação do mapa. Quando ChartOrientation.Horizontal, categorias aparecem no Eixo Y e valores no eixo X. Os gráficos de funil são padrão para horizontais para um funil top-down. Quando | |
ShowBorder | bool | True | Se devo envolver o gráfico com uma borda temática com cantos arredondados. O padrão é |
Stacked | bool | False | Se empilhar conjuntos de dados uns sobre os outros em vez de lado a lado. Vale para gráficos de barras e linhas. |
Title | string? | Título da tabela exibido acima da parada. Quando nulo, nenhum título é mostrado. | |
Type | ChartType | Bar | Obtém ou define o tipo de gráfico a ser renderizado (por exemplo ChartType.Bar, , ChartType.LineChartType.Pie, ChartType.Doughnut). |
Width | string? | Recebe ou define a largura opcional de CSS aplicada ao contêinere do gráfico. | |
XAxisPrefix | string? | String opcional prependida a cada etiqueta do eixo X. | |
XAxisSuffix | string? | String opcional adicionada a cada etiqueta do tick do eixo X. | |
YAxisPrefix | string? | String opcional prependida a cada etiqueta de tick do eixo Y e valor da tooltip (por exemplo | |
YAxisSuffix | string? | String opcional adicionada a cada etiqueta de tick do eixo Y e valor da dica de ferramenta (por exemplo |
DatasetsChartDataset.BackgroundColor ou ChartDataset.BorderColor null será preenchido automaticamente a partir da paleta ativa do Fluent.EnableAnimationHeightLabelsLegendPositionChartLegendPosition.Hidden para esconder tudo completamente. Quando ChartLegendPosition.Top) é usado.OrientationChartOrientation.Horizontal, categorias aparecem no Eixo Y e valores no eixo X. Os gráficos de funil são padrão para horizontais para um funil top-down. Quando ShowBorderStackedTitleTypeChartType.Bar, , ChartType.LineChartType.Pie, ChartType.Doughnut).WidthXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixEventos
Nome | Tipo | Descrição |
|---|---|---|
OnElementClick | EventCallback<ChartClickEventArgs> | Aumenta quando o usuário clica em um elemento gráfico renderizado (barra, fatia, ponto, etc.). Encaminhados para o subjacente Components.Chart; cliques no fundo do gráfico são ignorados. |
OnElementClickComponents.Chart; cliques no fundo do gráfico são ignorados.Métodos
Nome | Parâmetros | Tipo | Descrição |
|---|---|---|---|
ExportAsImageAsync | Task<string> | Exporta o gráfico atual como uma imagem PNG e retorna os dados como uma imagem codificada em Base64 URI de dados (por exemplo, |
ExportAsImageAsyncDataverseChart
Um componente de conveniência que envolve FluentUIChart e controla o ciclo de vida do carregamento dos dados. Aceita um DataverseChartDataSource, lida com o estado de carregamento, exibição de erro e oferece um botão opcional de atualizar.
DataverseChart Classe
Parâmetros
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
AggregationIndex | int | 0 | Qual entrada em ViewDataSource.AggregationResults renderizar. O padrão é DataverseChart.Source é usado em vez disso. |
CrossFilterMode | ChartCrossFilterMode | Highlight | Comportamento de slice-click quando um DataverseChart.DataSource é fornecido. Padrão para ChartCrossFilterMode.Highlight — suave filtro cruzado que enfatiza o irmão slice e dims combinados Linhas não correspondentes sem buscar novamente. O fornecido pelo consumidor DataverseChart.OnElementClick ainda dispara ao lado, para camadas Comportamento de telemetria / perfuração. Ignorado quando DataverseChart.Source é usado. |
DataSource | ViewDataSource? | Instância compartilhada Data.ViewDataSource (normalmente também dirigindo um par DataverseChart.Source. O gráfico lê seus dados de forma reativa de ViewDataSource.AggregationResults e despacha o estado do filtro cruzado em cliques de fatia por DataverseChart.CrossFilterMode. Uma ida e volta ao servidor então mantém a página da linha da grade e a agregação do gráfico atômicamente consistente. | |
DefaultViewId | Guid? | ID de visualização padrão opcional para pré-selecionar no menu suspenso da visualização. Se não for definido, o primeiro a visualização em DataverseChart.ViewIds (ou a visualização padrão da tabela) está selecionada. | |
EnableAnimation | bool | True | Se as animações de gráficos estão ativadas. O padrão é |
Height | string? | 400px | Altura opcional de CSS aplicada a todo o componente (incluindo o seletor de visão menu suspenso e borda temática, quando mostrado). O mapa interno preenche o espaço que quer permanece após a barra de ferramentas e o seletor. O padrão é |
LegendPosition | ChartLegendPosition? | Posicionamento da legenda em relação à área do mapa, ou ChartLegendPosition.Hidden para esconder tudo completamente. Quando ChartLegendPosition.Top) é usado. | |
Orientation | ChartOrientation? | Orientação do mapa. Os gráficos de funil são padrão para ChartOrientation.Horizontal para um funil de cima para baixo. Quando | |
ShowBorder | bool | True | Se devo envolver o gráfico com uma borda temática com cantos arredondados. O padrão é |
ShowExportButton | bool | True | Se deve mostrar um botão de download que exporta o gráfico como uma imagem PNG. O padrão é |
ShowRefreshButton | bool | True | Se deve mostrar um botão de atualização no canto superior direito do gráfico. O padrão é |
Source | DataverseChartDataSource? | Fonte de dados independente baseada em classes. Mutuamente exclusivo com DataverseChart.DataSource — exatamente um dos dois deve ser forneceu. Com DataverseChart.Source, esse componente possui o ciclo de vida de carregamento + atualização e despachos através Services.IChartService diretamente. Use quando um gráfico possui seu Busca própria (sem grade pareada). | |
Stacked | bool | False | Se empilhar conjuntos de dados uns sobre os outros em vez de lado a lado. |
Title | string? | Título da tabela exibido acima da parada. Quando nulo, nenhum título é mostrado. | |
Type | ChartType | Bar | O tipo de gráfico a renderizar. |
ViewIds | List<Guid>? | Lista opcional de IDs de visualização do Dataverse para exibir em um menu suspenso acima do gráfico. Quando o O usuário seleciona uma visualização, suas condições de filtro são mesclaras à fonte de dados e ao gráfico Recarrega. Obras com Components.AggregateDataverseChartDataSource e Components.ViewDataverseChartDataSource. | |
Width | string? | Largura CSS opcional aplicada ao contêiner do gráfico. | |
XAxisPrefix | string? | String opcional prependida a cada etiqueta do eixo X. | |
XAxisSuffix | string? | String opcional adicionada a cada etiqueta do tick do eixo X. | |
YAxisPrefix | string? | String opcional prependida a cada etiqueta de tick do eixo Y e valor da dica de ferramenta (por exemplo, | |
YAxisSuffix | string? | String opcional adicionada a cada etiqueta de tick do eixo Y e valor da dica de ferramenta (por exemplo, |
AggregationIndexViewDataSource.AggregationResults renderizar. O padrão é DataverseChart.Source é usado em vez disso.CrossFilterModeDataverseChart.DataSource é fornecido. Padrão para ChartCrossFilterMode.Highlight — suave filtro cruzado que enfatiza o irmão slice e dims combinados Linhas não correspondentes sem buscar novamente. O fornecido pelo consumidor DataverseChart.OnElementClick ainda dispara ao lado, para camadas Comportamento de telemetria / perfuração. Ignorado quando DataverseChart.Source é usado.DataSourceData.ViewDataSource (normalmente também dirigindo um par DataverseChart.Source. O gráfico lê seus dados de forma reativa de ViewDataSource.AggregationResults e despacha o estado do filtro cruzado em cliques de fatia por DataverseChart.CrossFilterMode. Uma ida e volta ao servidor então mantém a página da linha da grade e a agregação do gráfico atômicamente consistente.DefaultViewIdDataverseChart.ViewIds (ou a visualização padrão da tabela) está selecionada.EnableAnimationHeightLegendPositionChartLegendPosition.Hidden para esconder tudo completamente. Quando ChartLegendPosition.Top) é usado.OrientationChartOrientation.Horizontal para um funil de cima para baixo. Quando ShowBorderShowExportButtonShowRefreshButtonSourceDataverseChart.DataSource — exatamente um dos dois deve ser forneceu. Com DataverseChart.Source, esse componente possui o ciclo de vida de carregamento + atualização e despachos através Services.IChartService diretamente. Use quando um gráfico possui seu Busca própria (sem grade pareada).StackedTitleTypeViewIdsComponents.AggregateDataverseChartDataSource e Components.ViewDataverseChartDataSource.WidthXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixEventos
Nome | Tipo | Descrição |
|---|---|---|
OnElementClick | EventCallback<ChartClickEventArgs> | Aumenta quando o usuário clica em um elemento gráfico renderizado. |
OnElementClickTipos de Gráficos & Enums
Enumerações para seleção de tipos de gráficos e agrupamento de datas.
ChartType
O conjunto de tipos de gráficos suportados pela biblioteca de Chart.js subjacente: Bar, Line, Pie, Doughnut, PolarArea, Radar, Bubble e Scatter.
ChartType Enum
Values
Nome | Value | Descrição |
|---|---|---|
Bar | 0 | Gráfico de barras verticais (Chart.js |
Line | 1 | Gráfico de linhas (Chart.js |
Pie | 2 | Gráfico de pizza (Chart.js |
Doughnut | 3 | Tabela de donuts (Chart.js |
PolarArea | 4 | Mapa de área polar (Chart.js |
Radar | 5 | Mapa de radar (Chart.js |
Bubble | 6 | Gráfico de bolhas (Chart.js |
Scatter | 7 | Gráfico de dispersão (Chart.js |
Funnel | 8 | Gráfico de funil (via |
Bar0Line1Pie2Doughnut3PolarArea4Radar5Bubble6Scatter7Funnel8ChartDateGrouping
Intervalos de data por bucket para agrupar colunas de data-hora em consultas agregadas. Inclui valores simples (Dia, Mês, Ano) e valores combinados (MêsAndAno, TrimestreAndAno, etc.) que produzem etiquetas formatadas como "Jan 2024".
ChartDateGrouping Enum
Values
Nome | Value | Descrição |
|---|---|---|
None | 0 | Sem agrupamento de datas — a coluna é agrupada pelo seu valor bruto. |
Day | 1 | Agrupe por dia ( |
Week | 2 | Agrupe por semana ISO ( |
Month | 3 | Agrupe por mês do calendário ( |
Quarter | 4 | Agrupe por trimestre do calendário ( |
Year | 5 | Agrupe por ano civil ( |
MonthAndYear | 6 | Grupo por mês + ano. Rótulo: |
DayAndMonth | 7 | Agrupar por dia + mês. Rótulo: |
DayAndMonthAndYear | 8 | Agrupe por dia + mês + ano. Rótulo: |
WeekAndYear | 9 | Agrupe por semana ISO + ano. Rótulo: |
QuarterAndYear | 10 | Agrupar por trimestre + ano. Rótulo: |
None0Day1Week2Month3Quarter4Year5MonthAndYear6DayAndMonth7DayAndMonthAndYear8WeekAndYear9QuarterAndYear10Modelo de Dados
As classes e interfaces que representam dados de gráficos, pontos de dados, temas e payloads de eventos de cliques.
ChartData
Agrupa os dados totalmente moldados necessários para renderizar um gráfico: uma lista de etiquetas de categoria (eixo X) e um ou mais conjuntos de dados. Retornado por métodos de fonte LoadAsync de dados.
ChartData Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
Datasets | List<ChartDataset> | Conjuntos de dados para plotar. O conjunto de dados de ChartDataset.Data cada conjunto o comprimento deve corresponder ChartData.Labels; os baldes que faltam são preenchido zero pelo servidor para que o alinhamento posicional seja preservado Em várias séries. | |
Labels | List<string> | Etiquetas de categoria renderizadas ao longo do eixo primário. |
DatasetsChartDataset.Data cada conjunto o comprimento deve corresponder ChartData.Labels; os baldes que faltam são preenchido zero pelo servidor para que o alinhamento posicional seja preservado Em várias séries.LabelsChartDataset
Representa um único conjunto de dados (série) em um gráfico. Contém pontos de dados, um rótulo de legenda e substituições opcionais de cor para fundo e borda.
ChartDataset Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
BackgroundColor | string? | Cor de fundo padrão para cada elemento deste conjunto de dados para Tipos de cartas cartesianas. Para tipos de cartas radiais por ponto DataPoint.BackgroundColor Os overrides vencem. Quando | |
BorderColor | string? | Cor padrão da borda. Semântica de precedência da mesma ChartDataset.BackgroundColor. | |
BorderWidth | double | 1 | Largura da borda dos elementos em pixels. Valores fracionários são suportados (por exemplo, |
Data | List<DataPoint> | Pontos de dados neste conjunto de dados. Itens são Models.DataPoint ou uma subclasse (Models.DataverseDataPoint quando a fonte de dados é respaldado pelo Dataverse). O discriminador polimórfico '$type' é preservado através do JSON. | |
Label | string | Rótulo legendário para esse conjunto de dados (ex.: |
BackgroundColorDataPoint.BackgroundColor Os overrides vencem. Quando BorderColorChartDataset.BackgroundColor.BorderWidthDataModels.DataPoint ou uma subclasse (Models.DataverseDataPoint quando a fonte de dados é respaldado pelo Dataverse). O discriminador polimórfico '$type' é preservado através do JSON.LabelDataPoint
Implementação padrão de IDataPoint. Subclasse para anexar contexto definido pelo chamador (id de registro, região, etc.) que estará disponível para manipuladores de cliques.
DataPoint Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
BackgroundColor | string? | Cor de fundo por ponto. Usado por tipos de gráficos radiais (pie, donut, polarArea) para colorir segmentos individuais distintamente. Quando | |
BorderColor | string? | Cor da borda por ponto. Mesmas semânticas que DataPoint.BackgroundColor. | |
Value | double | 0 | O valor numérico representado por Chart.js. |
BackgroundColorBorderColorDataPoint.BackgroundColor.ValueDataverseDataPoint
Uma implementação que mantém o Dataverse TableRecord subjacente de onde IDataPoint foi projetada. Os manipuladores de cliques podem fazer patternmatching nesse tipo para acessar o id da linha, nome da tabela e valores das colunas.
DataverseDataPoint Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
BackgroundColor | string? | Cor de fundo por ponto. Usado por tipos de gráficos radiais (pie, donut, polarArea) para colorir segmentos individuais distintamente. Quando | |
BorderColor | string? | Cor da borda por ponto. Mesmas semânticas que DataPoint.BackgroundColor. | |
Record | TableRecord? | A linha do Dataverse de onde esse ponto de dados foi projetado. Anulável porque baldes com zero preenchimento em um pivô multi-série não possuem um Registro de origem. | |
Value | double | 0 | O valor numérico representado por Chart.js. |
BackgroundColorBorderColorDataPoint.BackgroundColor.RecordValueChartTheme
Sobreposições de tema e formatação aplicadas a uma instância de gráfico — cor do texto, cor da grade, formatação de valores no eixo Y (prefixo/sufixo), título do gráfico, modo empilhado e posição da legenda.
ChartTheme Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
EnableAnimation | bool | True | Obtém ou define se as animações dos gráficos estão ativadas. O padrão é |
GridColor | string? | Obtém ou define a cor usada para eixos, linhas de grade e bordas. | |
IndexAxis | ChartIndexAxis? | A Chart.js direção do eixo da categoria. Definido pela camada de componentes a partir do chamador Components.ChartOrientation via Components.ChartOrientation); os consumidores devem definir Components.ChartIndexAxis). | |
LegendPosition | ChartLegendPosition? | Posicionamento da legenda em relação à área do mapa, ou ChartLegendPosition.Hidden para esconder tudo completamente. Quando Components.ChartLegendPosition). | |
Stacked | bool | False | Obtém ou define se os eixos X e Y estão empilhados. Quando é verdade, os conjuntos de dados são empilhados por cima um do outro, em vez de exibidos lado a lado. Vale para gráficos de barras e linhas. |
TextColor | string? | Obtém ou define a cor usada para texto padrão, legendas, marcadores de eixo e títulos. | |
Title | string? | Recebe ou define o texto do título do gráfico exibido acima do gráfico. Quando nulo, nenhum título é mostrado. | |
XAxisPrefix | string? | Recebe ou define uma string prependida a cada etiqueta de tick do eixo X (por exemplo | |
XAxisSuffix | string? | Recebe ou define uma string anexada a cada etiqueta de tick do eixo X. Quando nulo, nenhum sufixo é aplicado. | |
YAxisPrefix | string? | Recebe ou define uma string prependida a cada etiqueta de tick e valor de tooltip no eixo Y (por exemplo | |
YAxisSuffix | string? | Recebe ou define uma string anexada a cada etiqueta de tick do eixo Y e valor de tooltip (por exemplo |
EnableAnimationGridColorIndexAxisComponents.ChartOrientation via Components.ChartOrientation); os consumidores devem definir Components.ChartIndexAxis).LegendPositionChartLegendPosition.Hidden para esconder tudo completamente. Quando Components.ChartLegendPosition).StackedTextColorTitleXAxisPrefixXAxisSuffixYAxisPrefixYAxisSuffixChartClickEventArgs
Carga útil que descreve um clique em um único elemento do gráfico (barra, fatia, ponto, etc.). Contém o índice do conjunto de dados, índice de dados, etiqueta, valor, etiqueta do conjunto de dados e a instância original IDataPoint para correspondência de padrões.
ChartClickEventArgs Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
DataIndex | int | 0 | O índice base zero do ponto de dados dentro do seu conjunto de dados. |
DataPoint | DataPoint? | A instância real Models.DataPoint que apoia o elemento clicado. Faça a correspondência de padrões com sua subclasse personalizada (por exemplo, Models.DataverseDataPoint) para acessar Contexto definido pelo chamador (ID do registro, categoria, etc.). Pode ser | |
DatasetIndex | int | 0 | O índice baseado em zero do conjunto de dados que contém o elemento clicado. |
DatasetLabel | string | O rótulo do conjunto de dados ao qual o elemento clicado pertence (por exemplo | |
Label | string | O rótulo de categoria associado ao elemento clicado (por exemplo | |
Value | double | 0 | O valor numérico do ponto de dados clicado. |
DataIndexDataPointModels.DataPoint que apoia o elemento clicado. Faça a correspondência de padrões com sua subclasse personalizada (por exemplo, Models.DataverseDataPoint) para acessar Contexto definido pelo chamador (ID do registro, categoria, etc.). Pode ser DatasetIndexDatasetLabelLabelValueFontes de Dados
Classes de fonte de dados que carregam dados de gráficos do Dataverse via consultas FetchXML.
DataverseChartDataSource
Classe base de fonte de dados que aceita FetchXML bruto e mapeamentos de colunas. Executa a consulta via IPowerPortalsProService, cuida RelatedRecordValue do desdobramento para resultados agregados, e molda as linhas em séries simples ou múltiplas ChartData.
DataverseChartDataSource Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
FetchXml | string? | A consulta FetchXML para executar. A classe base envia isso no solicitar diretamente; Substituição de subclasses Models.ChartDataRequest) para usar um modo de entrada diferente. | |
LabelColumn | string | O nome da coluna do resultado deve ser usado para etiquetas de gráficos (eixo X). Para o raw FetchXML este é o nome lógico do atributo (ou seu alias, se for foi especificado no FetchXML). | |
SeriesColumn | string? | Nome opcional da coluna de resultado usado para dividir linhas em múltiplas conjuntos de dados. Quando definido, linhas que compartilham o mesmo valor de série são agrupados em um único conjunto de dados. | |
SingleSeriesLabel | string | Rótulo opcional de conjunto de dados aplicado ao conjunto de dados emitido individualmente quando DataverseChartDataSource.SeriesColumn não está definido. Uso de consultas multi-série o valor da série formatada como o rótulo do conjunto de dados e ignore isso. | |
ValueColumn | string | O nome da coluna do resultado para ler valores numéricos de. Deve Consulte uma coluna numérica nas linhas retornadas. |
FetchXmlModels.ChartDataRequest) para usar um modo de entrada diferente.LabelColumnSeriesColumnSingleSeriesLabelDataverseChartDataSource.SeriesColumn não está definido. Uso de consultas multi-série o valor da série formatada como o rótulo do conjunto de dados e ignore isso.ValueColumnMétodos
Nome | Parâmetros | Tipo | Descrição |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | Carrega dados do gráfico via o . Services.IChartService |
LoadAsyncServices.IChartServiceAggregateDataverseChartDataSource
Uma subclasse que constrói uma consulta agregada FetchXML a partir de propriedades simples (NomeTabla, GroupByColumn, AggregateColumn, Aggregate) em vez de exigir FetchXML bruto. Suporta bucketing de datas, multi-séries, filtragem baseada em visualização, fragmentos de filtro inline e joins de entidades vinculadas.
AggregateDataverseChartDataSource Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
Aggregate | AggregateType | Sum | A função agregada aplicada a AggregateDataverseChartDataSource.AggregateColumn. |
AggregateColumn | string | A coluna Dataverse para agregar. Para AggregateType.Count Qualquer coluna serve. Conjuntos DataverseChartDataSource.ValueColumn na base Classe para que eles fiquem sincronizados. | |
FetchXml | string? | A consulta FetchXML para executar. A classe base envia isso no solicitar diretamente; Substituição de subclasses Models.ChartDataRequest) para usar um modo de entrada diferente. | |
FilterXml | string? | Fragmento de filtro FetchXML bruto opcional para injetar no consulta gerada (um | |
GroupByColumn | string | A coluna do Dataverse para agrupar por — torna-se o eixo X do gráfico rótulos. Conjuntos DataverseChartDataSource.LabelColumn na classe base para que fiquem sincronizados. | |
GroupByDateGrouping | ChartDateGrouping | None | Quando AggregateDataverseChartDataSource.GroupByColumn é uma coluna de data-hora, controles Como as datas são distribuídas em balde. |
GroupByLinkedEntity | ChartLinkedEntity? | Cadeia opcional de entidades ligadas para AggregateDataverseChartDataSource.GroupByColumn. Quando definido, o atributo groupby é colocado dentro da entidade-link no FetchXML gerado. | |
LabelColumn | string | O nome da coluna do resultado deve ser usado para etiquetas de gráficos (eixo X). Para o raw FetchXML este é o nome lógico do atributo (ou seu alias, se for foi especificado no FetchXML). | |
SeriesColumn | string? | Nome opcional da coluna de resultado usado para dividir linhas em múltiplas conjuntos de dados. Quando definido, linhas que compartilham o mesmo valor de série são agrupados em um único conjunto de dados. | |
SeriesDateGrouping | ChartDateGrouping | None | Agrupamento opcional de datas para a série — aplicado ao mesmo coluna como AggregateDataverseChartDataSource.GroupByColumn. Uso anual dos mapas ChartDateGrouping.Month em AggregateDataverseChartDataSource.GroupByDateGrouping e ChartDateGrouping.Year nesta propriedade. Quando definido, DataverseChartDataSource.SeriesColumn é ignorado. |
SeriesLinkedEntity | ChartLinkedEntity? | Cadeia opcional de entidades vinculadas para DataverseChartDataSource.SeriesColumn. | |
SingleSeriesLabel | string | Rótulo opcional de conjunto de dados aplicado ao conjunto de dados emitido individualmente quando DataverseChartDataSource.SeriesColumn não está definido. Uso de consultas multi-série o valor da série formatada como o rótulo do conjunto de dados e ignore isso. | |
TableName | string | A tabela Dataverse para consultar (por exemplo, | |
Top | int? | Número máximo opcional de linhas agrupadas para retornar. | |
ValueColumn | string | O nome da coluna do resultado para ler valores numéricos de. Deve Consulte uma coluna numérica nas linhas retornadas. | |
ViewId | Guid? | ID opcional de visualização salva. Quando definido, as condições de filtro da vista são fundidos na consulta agregada gerada. Determina qual Os registros estão incluídos; A configuração agregada determina como eles são agrupados. |
AggregateAggregateDataverseChartDataSource.AggregateColumn.AggregateColumnAggregateType.Count Qualquer coluna serve. Conjuntos DataverseChartDataSource.ValueColumn na base Classe para que eles fiquem sincronizados.FetchXmlModels.ChartDataRequest) para usar um modo de entrada diferente.FilterXmlGroupByColumnDataverseChartDataSource.LabelColumn na classe base para que fiquem sincronizados.GroupByDateGroupingAggregateDataverseChartDataSource.GroupByColumn é uma coluna de data-hora, controles Como as datas são distribuídas em balde.GroupByLinkedEntityAggregateDataverseChartDataSource.GroupByColumn. Quando definido, o atributo groupby é colocado dentro da entidade-link no FetchXML gerado.LabelColumnSeriesColumnSeriesDateGroupingAggregateDataverseChartDataSource.GroupByColumn. Uso anual dos mapas ChartDateGrouping.Month em AggregateDataverseChartDataSource.GroupByDateGrouping e ChartDateGrouping.Year nesta propriedade. Quando definido, DataverseChartDataSource.SeriesColumn é ignorado.SeriesLinkedEntityDataverseChartDataSource.SeriesColumn.SingleSeriesLabelDataverseChartDataSource.SeriesColumn não está definido. Uso de consultas multi-série o valor da série formatada como o rótulo do conjunto de dados e ignore isso.TableNameTopValueColumnViewIdMétodos
Nome | Parâmetros | Tipo | Descrição |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | Carrega dados do gráfico via o . Services.IChartService |
LoadAsyncServices.IChartServiceViewDataverseChartDataSource
Uma subclasse que resolve seu FetchXML a partir de uma visualização salva do Dataverse (consulta salva). O chamador ainda define LabelColumn e ValueColumn indica quais colunas mapeiam para rótulos e valores.
ViewDataverseChartDataSource Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
FetchXml | string? | A consulta FetchXML para executar. A classe base envia isso no solicitar diretamente; Substituição de subclasses Models.ChartDataRequest) para usar um modo de entrada diferente. | |
LabelColumn | string | O nome da coluna do resultado deve ser usado para etiquetas de gráficos (eixo X). Para o raw FetchXML este é o nome lógico do atributo (ou seu alias, se for foi especificado no FetchXML). | |
SeriesColumn | string? | Nome opcional da coluna de resultado usado para dividir linhas em múltiplas conjuntos de dados. Quando definido, linhas que compartilham o mesmo valor de série são agrupados em um único conjunto de dados. | |
SingleSeriesLabel | string | Rótulo opcional de conjunto de dados aplicado ao conjunto de dados emitido individualmente quando DataverseChartDataSource.SeriesColumn não está definido. Uso de consultas multi-série o valor da série formatada como o rótulo do conjunto de dados e ignore isso. | |
ValueColumn | string | O nome da coluna do resultado para ler valores numéricos de. Deve Consulte uma coluna numérica nas linhas retornadas. | |
ViewId | Guid | 00000000-0000-0000-0000-000000000000 | O identificador único do Dataverse salvou a visualização para carregar. O servidor busca seu FetchXml a cada chamada (não cacheado neste caso camadas; ViewMetadataCache cuida do cache do lado do servidor). |
FetchXmlModels.ChartDataRequest) para usar um modo de entrada diferente.LabelColumnSeriesColumnSingleSeriesLabelDataverseChartDataSource.SeriesColumn não está definido. Uso de consultas multi-série o valor da série formatada como o rótulo do conjunto de dados e ignore isso.ValueColumnViewIdMétodos
Nome | Parâmetros | Tipo | Descrição |
|---|---|---|---|
LoadAsync | IChartService chartService | Task<ChartData> | Carrega dados do gráfico via o . Services.IChartService |
LoadAsyncServices.IChartServiceChartLinkedEntity
Descreve uma entidade ligada (join) usada por AggregateDataverseChartDataSource para colocar um atributo groupby ou série em uma tabela relacionada. Suporta aninhamento ilimitado via propriedade LinkedEntity para joins multi-hop (por exemplo, opportunity → conta → unidade de negócio).
ChartLinkedEntity Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
From | string | Coluna na tabela vinculada que fornece a chave de junção (ex.: | |
JoinType | JoinOperator | Inner | Tipo de entrada. O padrão é . JoinOperator.Inner |
LinkedEntity | ChartLinkedEntity? | Entidade vinculada a filho opcional para joins multi-hop. O O atributo groupby/série é colocado no mais interno entidade na cadeia. | |
TableName | string | Nome lógico da tabela vinculada (ex.: | |
To | string | Coluna na tabela pai (ou entidade de ligação pai) para se unir a (por exemplo, |
FromJoinTypeJoinOperator.InnerLinkedEntityTableNameToCompartilhamento de uma fonte de dados entre uma grade e um gráfico
A ViewDataSource pode acionar um MainGrid e um (ou mais) DataverseChart componentes em sintonia perfeita. Uma ida e volta do servidor retorna a página da linha e a agregação do gráfico de forma atômica, então não há corrida onde o gráfico mostre números de um filtro antigo enquanto a grade está em um novo. Buscar, ordenar, paginar e visualizar as alterações em qualquer um dos consumidores passam pela mesma fonte de dados.
Construa a fonte de dados em OnInitialized (para que o injetado IGridService esteja disponível) e passe para ambas as vistas via DataSource. A grade renderiza a página da linha; O mapa apresenta AggregationResults[AggregationIndex]. Múltiplas agregações são suportadas — cada entrada alimenta um gráfico separado apontando para a mesma fonte de dados.
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() {
// Uma chamada useViewDataSource alimenta ambos os consumidores — a página da linha e
// as agregações aparecem em uma única resposta, mantida atômicamente consistente.
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();
}
}Clicar em uma fatia de gráfico define a , que Highlightescurece as linhas não correspondentes na grade pareada (e as fatias não correspondentes no gráfico) sem necessidade de buscar novamente. Clique na mesma fatia novamente para limpar. Para navegar de perfuração ou um filtro rígido, ajuste CrossFilterMode="ChartCrossFilterMode.None" e se controle OnElementClick por conta própria.
