Datensatzkontext

Die Komponente RecordContext umhüllt einen einzelnen Dataverse-Datensatz und stellt ihn als Kaskadenwert an alle nachkommenden Komponenten wie Editoren, Raster und Validierungszusammenfassungen bereit. Es erbt von MainContext, unterstützt also alle gleichen Funktionen zum Speicheren, Auffrischen, Validieren und Dirty-State-Tracking.

Laden eines Datensatzes

Es gibt verschiedene Möglichkeiten, anzugeben, welcher Datensatz geladen werden RecordContext soll:

  • Record — Passieren Sie ein TableRecord Objekt direkt. Nützlich, wenn du den Datensatz bereits im Speicher hast oder einen neuen Eintrag erstellst.
React
Blazor
  • QueryParameterName und TableName — Der Kontext liest die Datensatz-ID aus einem URL-Abfrageparameter und ruft den Datensatz automatisch aus Dataverse ab. Ist keine ID vorhanden, wird ein neuer Datensatz erstellt.
React
Blazor
  • RecordId und TableName — Geben Sie die Datensatz-ID direkt als Parameter an, anstatt sie aus der URL zu lesen.
React
Blazor

Datensatz geladenes Ereignis

Verwenden Sie den Rückruf RecordLoaded , um Logik auszuführen, nachdem der Datensatz aus Dataverse abgerufen wurde. Dies ist nützlich, um abhängige Zustände zu initialisieren oder verwandte Daten zu laden.

React
Blazor

Kontextvorlage

Anstatt , kannst du den ContextTemplate Parameter nutzen, um direkt auf das TableRecord Objekt in deinem Markup über eine Vorlagenvariable ChildContentzuzugreifen.

React
Blazor

Löschen eines Datensatzes

Rufen Sie DeleteAsync() an, um den aktuellen Datensatz zu löschen. Der Benutzer erhält vor der Ausführung der Löschung einen Bestätigungsdialog. Verwenden Sie den Callback, OnBeforeDelete um benutzerdefinierte Logik auszuführen, oder brechen Sie das Löschen ab, indem Sie CancelEventArgs.Cancel auf true.

React
Blazor

URL-Navigation

Bei Verwendung QueryParameterNameüberwacht die RecordContext URL-Änderungen automatisch. Wenn sich der Wert des Abfrageparameters ändert, während er auf derselben Seite bleibt, lädt der Kontext den neuen Datensatz neu, ohne eine vollständige Seitennavigation durchzuführen. Nach dem Speichern eines neu erstellten Datensatzes wird die URL aktualisiert, um die ID des neuen Datensatzes einzubeziehen.

Beispiel

Das folgende Beispiel zeigt ein einfaches Beispiel RecordContext , das Text für den aktuellen Datensatz anzeigt.

React-Beispiel
Blazor-Beispiel
(Wähle einen Wert aus)RotBlauOrangeLilaGelbSchwarzWeißBraunGrün
React TypeScript
Razor
Reagieren Blazor

RecordContext Baureihe

Parameter

Name
Typ
Default
Beschreibung
ChildContentRenderFragment?
Die Kindkomponenten werden in diesem Kontext gerendert.
ContextTemplateRenderFragment<TableRecord>
Du kannst optional eine Vorlage zur Dokumentation angeben. Dies ermöglicht Ihnen Zugriff auf das Objekt 'TableRecord' in der Vorlage.
DisableUnsavedChangesWarningbool?
Wenn auf true gesetzt, wird der Dialog für nicht gespeicherte Änderungen nicht angezeigt, wenn man von der Seite wegnavigiert. Die Warnung wird beim Aktualisieren immer angezeigt, unabhängig von dieser Einstellung. Wenn nicht explizit gesetzt, wird der Wert vom Elternkontext übernommen.
ForceSuccessfulValidationBeforeSavebool
True
Sollte eine erfolgreiche Validierung des Datensatzes durchgeführt werden, bevor der Datensatz gespeichert werden kann.
IsDirtybool
False
Zeigt an, ob der Datensatz oder ein registrierter Kind-Kontext ungespeicherte Änderungen aufweist.
ParentContextMainContext?
Der nächstgelegene Vorfahre MainContext, der verschachtelte Kontexthierarchien ermöglicht.
QueryParameterNamestring?
Der Name des Abfrageparameters, der die ID des abzurufenden Datensatzes angibt.
RecordTableRecord?
Der Datensatz ist mit diesem Datensatz verknüpft.
RecordIdstring?
Das spezifische GUID des Protokolls für den Kontext.
TableNamestring?
Der tabellenlogische Name des Datensatzes.
Name: ChildContent
Typ: RenderFragment?
Beschreibung: Die Kindkomponenten werden in diesem Kontext gerendert.
Name: ContextTemplate
Typ: RenderFragment<TableRecord>
Beschreibung: Du kannst optional eine Vorlage zur Dokumentation angeben. Dies ermöglicht Ihnen Zugriff auf das Objekt 'TableRecord' in der Vorlage.
Name: DisableUnsavedChangesWarning
Typ: bool?
Beschreibung: Wenn auf true gesetzt, wird der Dialog für nicht gespeicherte Änderungen nicht angezeigt, wenn man von der Seite wegnavigiert. Die Warnung wird beim Aktualisieren immer angezeigt, unabhängig von dieser Einstellung. Wenn nicht explizit gesetzt, wird der Wert vom Elternkontext übernommen.
Name: ForceSuccessfulValidationBeforeSave
Typ: bool
Default: True
Beschreibung: Sollte eine erfolgreiche Validierung des Datensatzes durchgeführt werden, bevor der Datensatz gespeichert werden kann.
Name: IsDirty
Typ: bool
Default: False
Beschreibung: Zeigt an, ob der Datensatz oder ein registrierter Kind-Kontext ungespeicherte Änderungen aufweist.
Name: ParentContext
Typ: MainContext?
Beschreibung: Der nächstgelegene Vorfahre MainContext, der verschachtelte Kontexthierarchien ermöglicht.
Name: QueryParameterName
Typ: string?
Beschreibung: Der Name des Abfrageparameters, der die ID des abzurufenden Datensatzes angibt.
Name: Record
Typ: TableRecord?
Beschreibung: Der Datensatz ist mit diesem Datensatz verknüpft.
Name: RecordId
Typ: string?
Beschreibung: Das spezifische GUID des Protokolls für den Kontext.
Name: TableName
Typ: string?
Beschreibung: Der tabellenlogische Name des Datensatzes.

Veranstaltungen

Name
Typ
Beschreibung
OnBeforeDeleteEventCallback<CancelEventArgs>
Ein Rückruf hat vor der Löschung angerufen. Ermöglicht das Abbrechen der Löschoperation.
OnBeforeSaveEventCallback<CancelEventArgs>
Callback hat vor dem Speichern angerufen. Ermöglicht das Abbrechen des Speichervorgangs.
RecordLoadedEventCallback<TableRecord>
EventCallback wird ausgelöst, wenn der Datensatz geladen ist.
Name: OnBeforeDelete
Typ: EventCallback<CancelEventArgs>
Beschreibung: Ein Rückruf hat vor der Löschung angerufen. Ermöglicht das Abbrechen der Löschoperation.
Name: OnBeforeSave
Typ: EventCallback<CancelEventArgs>
Beschreibung: Callback hat vor dem Speichern angerufen. Ermöglicht das Abbrechen des Speichervorgangs.
Name: RecordLoaded
Typ: EventCallback<TableRecord>
Beschreibung: EventCallback wird ausgelöst, wenn der Datensatz geladen ist.

Methoden

Name
Parameter
Typ
Beschreibung
DeleteAsyncTask<bool>
Er fordert eine Bestätigung auf und löscht dann den aktuellen Datensatz.
GetRequestsList<OrganizationRequest>
Gibt die Erstellungs- oder Aktualisierungsanfrage für den Datensatz zurück, wenn er unsauber ist, sowie Anfragen aus Kind-Kontexten.
RefreshAsyncbool forceRefresh
Task
Lädt den Datensatz vom Server neu, wobei optional nach nicht gespeicherten Änderungen gefragt wird.
ResetStatevoid
Setzt den Datensatz und alle kindlichen Kontexte auf ihren zuletzt gespeicherten Zustand zurück.
SaveAsyncbool? refresh
Task<bool>
Speichert den Datensatz und navigiert zur URL des Datensatzes, falls er neu erstellt wurde.
Validatebool
Validiere den Datensatz und alle Subkontexte (Raster, Suchbearbeitung, Datensatz, Haupt).
Name: DeleteAsync
Typ: Task<bool>
Beschreibung: Er fordert eine Bestätigung auf und löscht dann den aktuellen Datensatz.
Name: GetRequests
Typ: List<OrganizationRequest>
Beschreibung: Gibt die Erstellungs- oder Aktualisierungsanfrage für den Datensatz zurück, wenn er unsauber ist, sowie Anfragen aus Kind-Kontexten.
Name: RefreshAsync
Parameter: bool forceRefresh
Typ: Task
Beschreibung: Lädt den Datensatz vom Server neu, wobei optional nach nicht gespeicherten Änderungen gefragt wird.
Name: ResetState
Typ: void
Beschreibung: Setzt den Datensatz und alle kindlichen Kontexte auf ihren zuletzt gespeicherten Zustand zurück.
Name: SaveAsync
Parameter: bool? refresh
Typ: Task<bool>
Beschreibung: Speichert den Datensatz und navigiert zur URL des Datensatzes, falls er neu erstellt wurde.
Name: Validate
Typ: bool
Beschreibung: Validiere den Datensatz und alle Subkontexte (Raster, Suchbearbeitung, Datensatz, Haupt).