IViewMetadataCache
O IViewMetadataCache serviço fornece acesso em cache aos metadados da visualização do Dataverse (consulta salva). As visualizações são recuperadas do Dataverse no primeiro acesso e armazenadas em cache para requisições subsequentes.
Recuperando uma Visualização por ID
Use GetAsync com o GUID da visualização para recuperar os metadados de uma única visualização, incluindo sua consulta FetchXML, colunas e configuração de exibição.
// useViewMetadata recupera os metadados de uma vista salva do Dataverse. Concorrente
// chamadas de deduplicação em uma única solicitação em voo por ID de visualização; resolvido
// os valores são reutilizados durante toda a vida útil do PowerPortalsProClient.
import { useViewMetadata } from '@powerportalspro/react';
function MyComponent() {
const { data: viewMetadata, status } = useViewMetadata(viewId);
if (status !== 'success' || !viewMetadata) return null;
const { name, fetchXml, tableName, isDefault } = viewMetadata;
// ...
}[Inject]
private IViewMetadataCache _viewCache { get; set; } = null!;
protected override async Task OnInitializedAsync()
{
var viewMetadata = await _viewCache.GetAsync(viewId);
if (viewMetadata != null)
{
var viewName = viewMetadata.Name;
var fetchXml = viewMetadata.FetchXml;
var tableName = viewMetadata.TableName;
var isDefault = viewMetadata.IsDefault;
}
}Recuperando todas as visualizações de uma tabela
Use GetAllViewsForTableAsync para recuperar todas as visualizações de uma tabela específica. Filtre por ViewType visualizações para obter apenas visualizações públicas, visualizações rápidas de busca ou visualizações de pesquisa.
// useViewsForTable retorna toda visualização definida na tabela dada —
// Uma solicitação em cache por tabela, todos os consumidores compartilham o resultado.
import { useViewsForTable } from '@powerportalspro/react';
import { ViewType } from '@powerportalspro/core';
function MyComponent() {
const { data: allViews } = useViewsForTable('contact');
// Obtenha apenas visualizações públicas
const publicViews = allViews?.filter((v) => v.type === ViewType.Public) ?? [];
// Encontre a visualização padrão
const defaultView = allViews?.find((v) => v.isDefault);
}var allViews = await _viewCache.GetAllViewsForTableAsync("contact");
// Obtenha apenas visualizações públicas
var publicViews = allViews
.Where(v => v.Type == ViewType.Public)
.ToList();
// Encontre a visualização padrão
var defaultView = allViews
.FirstOrDefault(v => v.IsDefault);Dica
Prefere
IViewMetadataCacheparaIPowerPortalsProService.RetrieveViewMetadataAsyncler metadados da visualização. O cache evita chamadas redundantes de rede e é usado internamente por todos os componentes da rede PowerPortalsPro.
IViewMetadataCache Interface
Métodos
Nome | Parâmetros | Tipo | Descrição |
|---|---|---|---|
GetAllViewsForTableAsync | string tableName | Task<IEnumerable<ViewMetadata>> | Retorna todos os metadados da visualização em cache para a tabela especificada, incluindo vistas públicas, de sistema e definidas pelo usuário. |
GetAsync | Guid key CancellationToken token | Task<ViewMetadata> | Recupera um item do cache por chave. Se o item não for armazenado em cache, ele é retirado da fonte subjacente, armazenado em cache e devolvido. |
GetAllViewsForTableAsyncGetAsyncCancellationToken token
ViewMetadata Classe
Propriedades
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
Columns | List<ViewColumn> | As colunas exibidas na grade, incluindo seus nomes lógicos e larguras de pixels. | |
DisplayName | string? | Nome de exibição opcional para esta visualização. Quando definido, este é usado como o rótulo padrão no Visualizar o seletor suspenso. Uma entrada de localização em | |
FetchXml | string | A consulta FetchXML que define quais registros e colunas são recuperados para essa visão. | |
IsDefault | bool | False | Indica se essa é a visualização padrão da tabela. |
Name | string | O nome de exibição da visualização. | |
QuickFindCompatible | bool | False | Indica se essa visualização suporta busca rápida (Quick Ad). |
TableName | string | O nome lógico da tabela Dataverse é essa consulta de visão. | |
Type | ViewType? | O tipo de visualização (Público, Avançado, Associado, QuickFind, Busca, etc.). | |
UserDefined | bool | False | Indica se essa visualização foi criada por um usuário (verdadeira) ou se é uma visualização do sistema (falsa). |
ColumnsDisplayNameFetchXmlIsDefaultNameQuickFindCompatibleTableNameTypeUserDefined