Contexte des archives

Le RecordContext composant enveloppe un seul enregistrement Dataverse et le fournit en cascade à tous les composants descendants tels que les éditeurs, les grilles et les résumés de validation. Il hérite de MainContext, donc il prend en charge toutes les mêmes fonctions de sauvegarde, rafraîchissement, validation et suivi des états sales.

Chargement d’un enregistrement

Il existe plusieurs façons de spécifier quel enregistrement doit RecordContext être chargé :

  • Record — Passer directement un TableRecord objet à l’écran. Utile lorsque vous avez déjà l’enregistrement en mémoire ou que vous créez un nouveau enregistrement.
React
Blazor
  • QueryParameterName et TableName — Le contexte lit l’ID de l’enregistrement à partir d’un paramètre de requête URL et récupère automatiquement l’enregistrement depuis Dataverse. Si aucune pièce d’identité n’est présente, un nouvel enregistrement est créé.
React
Blazor
  • RecordId et TableName — Spécifier l’ID de l’enregistrement directement comme paramètre au lieu de le lire à partir de l’URL.
React
Blazor

Événement chargé de record

Utilisez le RecordLoaded rappel pour exécuter la logique après que l’enregistrement a été récupéré depuis Dataverse. Cela est utile pour initialiser l’état dépendant ou charger des données associées.

React
Blazor

Modèle de contexte

Au lieu d’utiliser ChildContent, vous pouvez utiliser le ContextTemplate paramètre pour accéder directement à l’objet TableRecord dans votre balisage via une variable modèle.

React
Blazor

Suppression d’un enregistrement

Appel DeleteAsync() pour supprimer l’enregistrement actuel. L’utilisateur reçoit une invitation avec une boîte de confirmation avant que la suppression ne soit exécutée. Utilisez le OnBeforeDelete rappel pour exécuter une logique personnalisée ou annulez la suppression en réglant CancelEventArgs.Cancel sur true.

React
Blazor

URL Navigation

Lorsqu’on utilise QueryParameterName, il RecordContext surveille automatiquement les changements d’URL. Si la valeur du paramètre de requête change tout en restant sur la même page, le contexte recharge le nouvel enregistrement sans navigation complète de la page. Après avoir sauvegardé un nouvel enregistrement créé, l’URL est mise à jour pour inclure l’ID du nouvel enregistrement.

Exemple

L’exemple suivant montre un simple RecordContext qui affiche le texte pour l’enregistrement courant.

Exemple de réaction
Exemple de Blazor
(Sélectionnez une valeur)RougeBleuOrangeVioletJauneNoirBlancBrownVert
React TypeScript
Razor
Réagir Blazor

RecordContext Classe

Paramètres

Nom
Type
Par défaut
Description
ChildContentRenderFragment?
Les composants enfants sont rendus dans ce contexte.
ContextTemplateRenderFragment<TableRecord>
Vous pouvez éventuellement spécifier un modèle pour le dossier. Cela vous permet d’accéder à l’objet 'TableRecord' dans le modèle.
DisableUnsavedChangesWarningbool?
Lorsqu’elle est réglée sur true, la boîte d’avertissement des modifications non enregistrées n’est pas affichée lors de la navigation hors de la page. L’avertissement est toujours affiché lors du rafraîchissement, quel que soit ce réglage. Si elle n’est pas explicitement définie, la valeur est héritée du contexte parent.
ForceSuccessfulValidationBeforeSavebool
True
Si une validation réussie de l’enregistrement est effectuée avant d’autoriser sa sauvegarde.
IsDirtybool
False
Indique si l’enregistrement ou tout contexte enfant enregistré comporte des modifications non enregistrées.
ParentContextMainContext?
L’ancêtre le plus proche, MainContext, permettant des hiérarchies de contextes imbriqués.
QueryParameterNamestring?
Le nom du paramètre de requête qui spécifie l’id de l’enregistrement à récupérer.
RecordTableRecord?
Le dossier renvoie à ce contexte d’enregistrement.
RecordIdstring?
Le GUID spécifique de l’enregistrement pour le contexte.
TableNamestring?
Le nom logique du tableau du dossier.
Nom: ChildContent
Type: RenderFragment?
Description: Les composants enfants sont rendus dans ce contexte.
Nom: ContextTemplate
Type: RenderFragment<TableRecord>
Description: Vous pouvez éventuellement spécifier un modèle pour le dossier. Cela vous permet d’accéder à l’objet 'TableRecord' dans le modèle.
Nom: DisableUnsavedChangesWarning
Type: bool?
Description: Lorsqu’elle est réglée sur true, la boîte d’avertissement des modifications non enregistrées n’est pas affichée lors de la navigation hors de la page. L’avertissement est toujours affiché lors du rafraîchissement, quel que soit ce réglage. Si elle n’est pas explicitement définie, la valeur est héritée du contexte parent.
Nom: ForceSuccessfulValidationBeforeSave
Type: bool
Par défaut: True
Description: Si une validation réussie de l’enregistrement est effectuée avant d’autoriser sa sauvegarde.
Nom: IsDirty
Type: bool
Par défaut: False
Description: Indique si l’enregistrement ou tout contexte enfant enregistré comporte des modifications non enregistrées.
Nom: ParentContext
Type: MainContext?
Description: L’ancêtre le plus proche, MainContext, permettant des hiérarchies de contextes imbriqués.
Nom: QueryParameterName
Type: string?
Description: Le nom du paramètre de requête qui spécifie l’id de l’enregistrement à récupérer.
Nom: Record
Type: TableRecord?
Description: Le dossier renvoie à ce contexte d’enregistrement.
Nom: RecordId
Type: string?
Description: Le GUID spécifique de l’enregistrement pour le contexte.
Nom: TableName
Type: string?
Description: Le nom logique du tableau du dossier.

Événements

Nom
Type
Description
OnBeforeDeleteEventCallback<CancelEventArgs>
Rappel appelé avant de supprimer. Permet d’annuler l’opération de suppression.
OnBeforeSaveEventCallback<CancelEventArgs>
Rappel a appelé avant de sauvegarder. Cela permet d’annuler l’opération de sauvegarde.
RecordLoadedEventCallback<TableRecord>
EventCallback pour se déclencher lorsque l’enregistrement est chargé.
Nom: OnBeforeDelete
Type: EventCallback<CancelEventArgs>
Description: Rappel appelé avant de supprimer. Permet d’annuler l’opération de suppression.
Nom: OnBeforeSave
Type: EventCallback<CancelEventArgs>
Description: Rappel a appelé avant de sauvegarder. Cela permet d’annuler l’opération de sauvegarde.
Nom: RecordLoaded
Type: EventCallback<TableRecord>
Description: EventCallback pour se déclencher lorsque l’enregistrement est chargé.

Méthodes

Nom
Paramètres
Type
Description
DeleteAsyncTask<bool>
Les demandes de confirmation suppriment alors l’enregistrement en cours.
GetRequestsList<OrganizationRequest>
Retourne la requête de création ou de mise à jour pour l’enregistrement s’il est sale, ainsi que les requêtes provenant de contextes enfants.
RefreshAsyncbool forceRefresh
Task
Recharge l’enregistrement depuis le serveur, en demandant éventuellement des modifications non enregistrées.
ResetStatevoid
Réinitialise l’enregistrement et tous les contextes enfants à leur dernier état sauvegardé.
SaveAsyncbool? refresh
Task<bool>
Sauvegarde l’enregistrement et navigue vers l’URL de l’enregistrement si elle a été nouvellement créée.
Validatebool
Validez l’enregistrement et tous les sous-contextes (grille, recherche, édition, enregistrement, principal).
Nom: DeleteAsync
Type: Task<bool>
Description: Les demandes de confirmation suppriment alors l’enregistrement en cours.
Nom: GetRequests
Type: List<OrganizationRequest>
Description: Retourne la requête de création ou de mise à jour pour l’enregistrement s’il est sale, ainsi que les requêtes provenant de contextes enfants.
Nom: RefreshAsync
Paramètres: bool forceRefresh
Type: Task
Description: Recharge l’enregistrement depuis le serveur, en demandant éventuellement des modifications non enregistrées.
Nom: ResetState
Type: void
Description: Réinitialise l’enregistrement et tous les contextes enfants à leur dernier état sauvegardé.
Nom: SaveAsync
Paramètres: bool? refresh
Type: Task<bool>
Description: Sauvegarde l’enregistrement et navigue vers l’URL de l’enregistrement si elle a été nouvellement créée.
Nom: Validate
Type: bool
Description: Validez l’enregistrement et tous les sous-contextes (grille, recherche, édition, enregistrement, principal).