RecordContexto

O RecordContext componente envolve um único registro Dataverse e o fornece como um valor em cascata para todos os componentes descendentes, como editores, grades e resumos de validação. Ele herda de MainContext, então suporta todos os mesmos recursos de salvamento, atualização, validação e rastreamento de estado sujo.

Carregando um Registro

Existem várias maneiras de especificar qual registro a RecordContext deve carregar:

  • Record — Passe um TableRecord objeto diretamente. Útil quando você já tem o registro na memória ou está criando um novo.
React
Blazor
  • QueryParameterName e TableName — O contexto lê o ID do registro a partir de um parâmetro de consulta URL e recupera o registro do Dataverse automaticamente. Se não houver identificação, um novo registro é criado.
React
Blazor
  • RecordId e TableName — Especifique o ID do registro diretamente como parâmetro em vez de lê-lo pela URL.
React
Blazor

Evento de Recorde Carregado

Use o RecordLoaded callback para executar a lógica após o registro ser recuperado do Dataverse. Isso é útil para inicializar estados dependentes ou carregar dados relacionados.

React
Blazor

Modelo de Contexto

Em vez de usar ChildContent, você pode usar o ContextTemplate parâmetro para acessar o TableRecord objeto diretamente na sua marcação via uma variável modelo.

React
Blazor

Apagando um Registro

Chamada DeleteAsync() para excluir o registro atual. O usuário recebe um diálogo de confirmação antes da execução da exclusão. Use o OnBeforeDelete callback para rodar lógica personalizada ou cancele a exclusão definindo CancelEventArgs.Cancel para true.

React
Blazor

Navegação por URL

Ao usar QueryParameterName, ele RecordContext monitora automaticamente as mudanças de URL. Se o valor do parâmetro de consulta mudar enquanto permanece na mesma página, o contexto recarrega o novo registro sem uma navegação completa da página. Após salvar um registro recém-criado, a URL é atualizada para incluir o ID do novo registro.

Exemplo

O exemplo a seguir demonstra um simples RecordContext que exibe o texto do registro atual.

Exemplo de reação
Exemplo de Blazor
(Selecione um valor)VermelhoAzulLaranjaRoxoAmareloPretoBrancoBrownVerde
React TypeScript
Razor
React Blazor

RecordContext Classe

Parâmetros

Nome
Tipo
Padrão
Descrição
ChildContentRenderFragment?
Os componentes filhos renderizados dentro desse contexto.
ContextTemplateRenderFragment<TableRecord>
Você pode, opcionalmente, especificar um modelo para registro. Isso permite que você acesse o objeto 'TableRecord' no modelo.
DisableUnsavedChangesWarningbool?
Quando configurado como true, o diálogo de aviso de alterações não salvas não é exibido ao navegar para fora da página. O aviso sempre aparece ao atualizar, independentemente dessa configuração. Se não for explicitamente definido, o valor é herdado do contexto pai.
ForceSuccessfulValidationBeforeSavebool
True
Deve ser realizada uma validação bem-sucedida do registro antes de permitir que o registro seja salvo.
IsDirtybool
False
Indica se o registro ou qualquer contexto filho registrado tem alterações não salvas.
ParentContextMainContext?
O ancestral mais próximo é o MainContext, permitindo hierarquias de contexto aninhado.
QueryParameterNamestring?
O nome do parâmetro de consulta que especifica o id do registro a ser recuperado.
RecordTableRecord?
O registro está vinculado a esse contexto de registro.
RecordIdstring?
O GUID específico do registro para o contexto.
TableNamestring?
O nome lógico da tabela do registro.
Nome: ChildContent
Tipo: RenderFragment?
Descrição: Os componentes filhos renderizados dentro desse contexto.
Nome: ContextTemplate
Tipo: RenderFragment<TableRecord>
Descrição: Você pode, opcionalmente, especificar um modelo para registro. Isso permite que você acesse o objeto 'TableRecord' no modelo.
Nome: DisableUnsavedChangesWarning
Tipo: bool?
Descrição: Quando configurado como true, o diálogo de aviso de alterações não salvas não é exibido ao navegar para fora da página. O aviso sempre aparece ao atualizar, independentemente dessa configuração. Se não for explicitamente definido, o valor é herdado do contexto pai.
Nome: ForceSuccessfulValidationBeforeSave
Tipo: bool
Padrão: True
Descrição: Deve ser realizada uma validação bem-sucedida do registro antes de permitir que o registro seja salvo.
Nome: IsDirty
Tipo: bool
Padrão: False
Descrição: Indica se o registro ou qualquer contexto filho registrado tem alterações não salvas.
Nome: ParentContext
Tipo: MainContext?
Descrição: O ancestral mais próximo é o MainContext, permitindo hierarquias de contexto aninhado.
Nome: QueryParameterName
Tipo: string?
Descrição: O nome do parâmetro de consulta que especifica o id do registro a ser recuperado.
Nome: Record
Tipo: TableRecord?
Descrição: O registro está vinculado a esse contexto de registro.
Nome: RecordId
Tipo: string?
Descrição: O GUID específico do registro para o contexto.
Nome: TableName
Tipo: string?
Descrição: O nome lógico da tabela do registro.

Eventos

Nome
Tipo
Descrição
OnBeforeDeleteEventCallback<CancelEventArgs>
Chamada de retorno antes de apagar. Permite cancelar a operação de exclusão.
OnBeforeSaveEventCallback<CancelEventArgs>
O retorno chamou antes de salvar. Permite cancelar a operação de salvamento.
RecordLoadedEventCallback<TableRecord>
EventCallback para ser acionado quando o registro for carregado.
Nome: OnBeforeDelete
Tipo: EventCallback<CancelEventArgs>
Descrição: Chamada de retorno antes de apagar. Permite cancelar a operação de exclusão.
Nome: OnBeforeSave
Tipo: EventCallback<CancelEventArgs>
Descrição: O retorno chamou antes de salvar. Permite cancelar a operação de salvamento.
Nome: RecordLoaded
Tipo: EventCallback<TableRecord>
Descrição: EventCallback para ser acionado quando o registro for carregado.

Métodos

Nome
Parâmetros
Tipo
Descrição
DeleteAsyncTask<bool>
Solicita confirmação e então apaga o registro atual.
GetRequestsList<OrganizationRequest>
Retorna a solicitação de criação ou atualização do registro se estiver sujo, além de solicitações de contextos filhos.
RefreshAsyncbool forceRefresh
Task
Recarrega o registro do servidor, opcionalmente solicitando sobre alterações não salvas.
ResetStatevoid
Reinicia o registro e todos os contextos filhos para seu último estado salvo.
SaveAsyncbool? refresh
Task<bool>
Salva o registro e navega até a URL do registro caso ele tenha sido criado recentemente.
Validatebool
Valide o registro e quaisquer subcontextos (grid, lookup edit, record, main).
Nome: DeleteAsync
Tipo: Task<bool>
Descrição: Solicita confirmação e então apaga o registro atual.
Nome: GetRequests
Tipo: List<OrganizationRequest>
Descrição: Retorna a solicitação de criação ou atualização do registro se estiver sujo, além de solicitações de contextos filhos.
Nome: RefreshAsync
Parâmetros: bool forceRefresh
Tipo: Task
Descrição: Recarrega o registro do servidor, opcionalmente solicitando sobre alterações não salvas.
Nome: ResetState
Tipo: void
Descrição: Reinicia o registro e todos os contextos filhos para seu último estado salvo.
Nome: SaveAsync
Parâmetros: bool? refresh
Tipo: Task<bool>
Descrição: Salva o registro e navega até a URL do registro caso ele tenha sido criado recentemente.
Nome: Validate
Tipo: bool
Descrição: Valide o registro e quaisquer subcontextos (grid, lookup edit, record, main).