RecordContexto

El RecordContext componente envuelve un único registro de Dataverse y lo proporciona como un valor en cascada a todos los componentes descendientes como editores, cuadrículas y resúmenes de validación. Hereda de MainContext, por lo que soporta todas las mismas funciones de guardado, actualización, validación y seguimiento de estados sucios.

Cargando un registro

Hay varias formas de especificar qué registro debe cargar:RecordContext

  • Record — Pasa un TableRecord objeto directamente. Útil cuando ya tienes el registro en memoria o estás creando uno nuevo.
React
Blazor
  • QueryParameterName y TableName — El contexto lee el ID del registro de un parámetro de consulta URL y recupera automáticamente el registro de Dataverse. Si no hay identificación, se crea un nuevo registro.
React
Blazor
  • RecordId y TableName — Especificar el ID del registro directamente como parámetro en lugar de leerlo desde la URL.
React
Blazor

Evento de Récord Cargado

Utiliza la RecordLoaded callback para ejecutar la lógica después de que el registro haya sido recuperado de Dataverse. Esto es útil para inicializar estados dependientes o cargar datos relacionados.

React
Blazor

Plantilla de contexto

En lugar de usar ChildContent, puedes usar el ContextTemplate parámetro para acceder directamente al TableRecord objeto en tu marcado mediante una variable plantilla.

React
Blazor

Eliminar un registro

Llama DeleteAsync() para eliminar el registro actual. Se le solicita al usuario un diálogo de confirmación antes de ejecutar la eliminación. Usa la OnBeforeDelete callback para ejecutar lógica personalizada o cancela la eliminación configurando CancelEventArgs.Cancel en true.

React
Blazor

Navegación por URL

Al usar QueryParameterName, monitoriza RecordContext automáticamente los cambios de URL. Si el valor del parámetro de consulta cambia mientras permanece en la misma página, el contexto recarga el nuevo registro sin una navegación completa de la página. Tras guardar un registro recién creado, la URL se actualiza para incluir el ID del nuevo registro.

Ejemplo

El siguiente ejemplo muestra un sencillo RecordContext que muestra el texto del registro actual.

Ejemplo de reacción
Ejemplo de Blazor
(Seleccione un valor)RojoAzulNaranjaMoradoAmarilloNegroBlancoBrownVerde
React TypeScript
Razor
Reaccionar Blazor

RecordContext Clase

Parámetros

Nombre
Tipo
Default
Descripción
ChildContentRenderFragment?
Los componentes hijos representados dentro de este contexto.
ContextTemplateRenderFragment<TableRecord>
Opcionalmente puedes especificar una plantilla para el registro. Esto te permite acceder al objeto 'TableRecord' en la plantilla.
DisableUnsavedChangesWarningbool?
Cuando se configura en true, el cuadro de advertencia de cambios no guardados no se muestra al alejarse de la página. La advertencia siempre aparece al actualizar, independientemente de esta configuración. Si no se establece explícitamente, el valor se hereda del contexto padre.
ForceSuccessfulValidationBeforeSavebool
True
¿Debería realizarse una validación exitosa del registro antes de permitir que se guarde?
IsDirtybool
False
Indica si el registro o cualquier contexto hijo registrado tiene cambios no guardados.
ParentContextMainContext?
El antepasado más cercano, MainContext, que permite jerarquías de contexto anidado.
QueryParameterNamestring?
El nombre del parámetro de consulta que especifica el id del registro a recuperar.
RecordTableRecord?
El registro enlazaba con este contexto de registro.
RecordIdstring?
El GUID específico del registro para el contexto.
TableNamestring?
El nombre lógico de la tabla del registro.
Nombre: ChildContent
Tipo: RenderFragment?
Descripción: Los componentes hijos representados dentro de este contexto.
Nombre: ContextTemplate
Tipo: RenderFragment<TableRecord>
Descripción: Opcionalmente puedes especificar una plantilla para el registro. Esto te permite acceder al objeto 'TableRecord' en la plantilla.
Nombre: DisableUnsavedChangesWarning
Tipo: bool?
Descripción: Cuando se configura en true, el cuadro de advertencia de cambios no guardados no se muestra al alejarse de la página. La advertencia siempre aparece al actualizar, independientemente de esta configuración. Si no se establece explícitamente, el valor se hereda del contexto padre.
Nombre: ForceSuccessfulValidationBeforeSave
Tipo: bool
Default: True
Descripción: ¿Debería realizarse una validación exitosa del registro antes de permitir que se guarde?
Nombre: IsDirty
Tipo: bool
Default: False
Descripción: Indica si el registro o cualquier contexto hijo registrado tiene cambios no guardados.
Nombre: ParentContext
Tipo: MainContext?
Descripción: El antepasado más cercano, MainContext, que permite jerarquías de contexto anidado.
Nombre: QueryParameterName
Tipo: string?
Descripción: El nombre del parámetro de consulta que especifica el id del registro a recuperar.
Nombre: Record
Tipo: TableRecord?
Descripción: El registro enlazaba con este contexto de registro.
Nombre: RecordId
Tipo: string?
Descripción: El GUID específico del registro para el contexto.
Nombre: TableName
Tipo: string?
Descripción: El nombre lógico de la tabla del registro.

Eventos

Nombre
Tipo
Descripción
OnBeforeDeleteEventCallback<CancelEventArgs>
Llamada de regreso antes de borrar. Permite cancelar la operación de borrado.
OnBeforeSaveEventCallback<CancelEventArgs>
Llamó la llamada antes de guardar. Permite cancelar la operación de guardado.
RecordLoadedEventCallback<TableRecord>
EventCallback para activarse cuando se carga el registro.
Nombre: OnBeforeDelete
Tipo: EventCallback<CancelEventArgs>
Descripción: Llamada de regreso antes de borrar. Permite cancelar la operación de borrado.
Nombre: OnBeforeSave
Tipo: EventCallback<CancelEventArgs>
Descripción: Llamó la llamada antes de guardar. Permite cancelar la operación de guardado.
Nombre: RecordLoaded
Tipo: EventCallback<TableRecord>
Descripción: EventCallback para activarse cuando se carga el registro.

Métodos

Nombre
Parámetros
Tipo
Descripción
DeleteAsyncTask<bool>
Solicita confirmación y luego elimina el registro actual.
GetRequestsList<OrganizationRequest>
Devuelve la solicitud de creación o actualización del registro si está sucio, además de las solicitudes desde contextos hijos.
RefreshAsyncbool forceRefresh
Task
Recarga el registro desde el servidor, solicitando opcionalmente sobre los cambios no guardados.
ResetStatevoid
Reinicia el registro y todos los contextos hijos a su último estado guardado.
SaveAsyncbool? refresh
Task<bool>
Guarda el registro y navega hasta la URL del registro si fue creado recientemente.
Validatebool
Valida el registro y cualquier subcontexto (cuadrícula, edición de búsqueda, registro, principal).
Nombre: DeleteAsync
Tipo: Task<bool>
Descripción: Solicita confirmación y luego elimina el registro actual.
Nombre: GetRequests
Tipo: List<OrganizationRequest>
Descripción: Devuelve la solicitud de creación o actualización del registro si está sucio, además de las solicitudes desde contextos hijos.
Nombre: RefreshAsync
Parámetros: bool forceRefresh
Tipo: Task
Descripción: Recarga el registro desde el servidor, solicitando opcionalmente sobre los cambios no guardados.
Nombre: ResetState
Tipo: void
Descripción: Reinicia el registro y todos los contextos hijos a su último estado guardado.
Nombre: SaveAsync
Parámetros: bool? refresh
Tipo: Task<bool>
Descripción: Guarda el registro y navega hasta la URL del registro si fue creado recientemente.
Nombre: Validate
Tipo: bool
Descripción: Valida el registro y cualquier subcontexto (cuadrícula, edición de búsqueda, registro, principal).