IViewMetadataCache
El IViewMetadataCache servicio proporciona acceso en caché a los metadatos de la vista de Dataverse (consulta guardada). Las vistas se recuperan de Dataverse en el primer acceso y se almacenan en caché para solicitudes posteriores.
Recuperando una Vista por ID
Úsalo GetAsync con el GUID de la vista para recuperar los metadatos de una sola vista, incluyendo su consulta FetchXML, columnas y configuración de visualización.
// useViewMetadata obtiene los metadatos de una vista guardada de Dataverse. Concurrente
// las llamadas se deduplican en una sola solicitud en vuelo por ID de visualización; resuelto
// los valores se reutilizan durante toda la vida útil del 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;
}
}Recuperación de todas las vistas para una tabla
Úsalo GetAllViewsForTableAsync para recuperar todas las vistas de una tabla específica. Filtra por ViewType solo visualizaciones públicas, vistas rápidas de búsqueda o visualizaciones de búsqueda.
// useViewsForTable devuelve todas las vistas definidas en la tabla dada —
// Una solicitud en caché por tabla, todos los consumidores comparten el resultado.
import { useViewsForTable } from '@powerportalspro/react';
import { ViewType } from '@powerportalspro/core';
function MyComponent() {
const { data: allViews } = useViewsForTable('contact');
// Solo consigue opiniones públicas
const publicViews = allViews?.filter((v) => v.type === ViewType.Public) ?? [];
// Encontrar la vista predeterminada
const defaultView = allViews?.find((v) => v.isDefault);
}var allViews = await _viewCache.GetAllViewsForTableAsync("contact");
// Solo consigue opiniones públicas
var publicViews = allViews
.Where(v => v.Type == ViewType.Public)
.ToList();
// Encontrar la vista predeterminada
var defaultView = allViews
.FirstOrDefault(v => v.IsDefault);Propina
Preferido
IViewMetadataCacheparaIPowerPortalsProService.RetrieveViewMetadataAsyncleer metadatos de la vista. La caché evita llamadas redundantes de red y es utilizada internamente por todos los componentes de la red de PowerPortalsPro.
IViewMetadataCache Interface
Métodos
Nombre | Parámetros | Tipo | Descripción |
|---|---|---|---|
GetAllViewsForTableAsync | string tableName | Task<IEnumerable<ViewMetadata>> | Devuelve todos los metadatos de la vista almacenada en caché para la tabla especificada, incluyendo vistas públicas, del sistema y definidas por el usuario. |
GetAsync | Guid key CancellationToken token | Task<ViewMetadata> | Recupera un elemento de la caché mediante clave. Si el elemento no está almacenado en caché, se obtiene desde la fuente subyacente, se almacena en caché y se devuelve. |
GetAllViewsForTableAsyncGetAsyncCancellationToken token
ViewMetadata Clase
Propiedades
Nombre | Tipo | Default | Descripción |
|---|---|---|---|
Columns | List<ViewColumn> | Las columnas se mostraban en la cuadrícula, incluyendo sus nombres lógicos y anchos de píxeles. | |
DisplayName | string? | Nombre de visualización opcional para esta vista. Cuando se configura, se utiliza como etiqueta predeterminada en el Ver el selector desplegable. Una entrada de localización en | |
FetchXml | string | La consulta FetchXML que define qué registros y columnas se recuperan para esta vista. | |
IsDefault | bool | False | Indica si esta es la vista predeterminada de la tabla. |
Name | string | El nombre de visualización de la vista. | |
QuickFindCompatible | bool | False | Indica si esta vista soporta búsqueda rápida de búsqueda. |
TableName | string | El nombre lógico de la tabla Dataverse es esta consulta. | |
Type | ViewType? | El tipo de vista (Público, AdvancedFind, Associated, QuickFind, Lookup, etc.). | |
UserDefined | bool | False | Indica si esta vista fue creada por un usuario (verdadero) o si es una vista del sistema (falso). |
ColumnsDisplayNameFetchXmlIsDefaultNameQuickFindCompatibleTableNameTypeUserDefined