Formularereignisse (clíentseitige Referenz)
Veröffentlicht: Januar 2017
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Clientseitiger Code wird durch Ereignisse initiiert. Im Microsoft Dynamics 365 ordnen Sie spezielle Funktion innerhalb einer JavaScript-Bibliothek zu, damit sie ausgeführt werden, wenn bestimmte Ereignisse auftreten.
Alle Formularereignisse haben eine Benutzeroberfläche, die Sie verwenden, um ein oder mehrere Ereignishander anzugeben. Jeder Ereignishandler gibt eine Funktion innerhalb einer einzelnen JavaScript-Bibliothek und alle Parameter an, die an die Funktion übergeben werden können.
Ereignisse
OnLoad-Ereignis
OnSave-Ereignis
Feld-OnChange-Ereignis
Registerkarte TabStateChange-Ereignis
IFRAME OnReadyStateComplete-Ereignis
Nachschlagesteuerungs-PreSearch-Ereignis
OnProcessStatusChange-Ereignis
OnStageChange-Ereignis
OnStageSelected-Ereignis
Suchsteuerelement für die Wissensdatenbank – Ereignisse
Schreibgeschütztes Unterraster-OnLoad-Ereignis
Bearbeitbares Raster-Ereignis
OnLoad-Ereignis
Das OnLoad-Ereignis tritt auf, nachdem das Formular geladen wurde. Es kann nicht das Fenster nicht am Laden hindern. Verwenden Sie das OnLoad-Ereignis, um Logik dazu anzuwenden, wie das Formular angezeigt werden soll, um Eigenschaften auf Feldern festzulegen mit anderen Seitenelementen zu interagieren.
Wenn der Microsoft Dynamics 365 für Tablets-Client getrennt ist, ist das OnLoad-Ereignis das einzige Ereignis, das auftritt.
Hinweis
Formulare für Aktualisierte Entitäten laden die Seite nicht erneut nach der ersten Speicherung bei der Erstellung eines Datensatzes oder nachfolgenden Änderungen herunter. Daher tritt das OnLoad-Ereignis nur während des erstmaligen Ladens des Formulars auf.
OnSave-Ereignis
Das OnSave-Ereignis tritt auf, wenn Folgendes zutrifft:
Der Benutzer klickt auf die Schaltfläche in der unteren rechten Ecke des Formulars, selbst wenn keine geänderten Daten gespeichert werden müssen.
Code führt die Xrm.Page.data.entity.Speichern-Methode aus, selbst wenn keine geänderten Daten gespeichert werden müssen.
Der Benutzer navigiert von dem Formular weg, und es befinden sich nicht gespeicherte Daten im Formular.
Bei aktivierter automatischer Speicherung 30 Sekunden nach der Änderung der Daten, wenn sich im Formular nicht gespeicherte Daten befinden.
Code führt die Xrm.Page.data.Speichern-Methode aus, und es befinden sich nicht gespeicherte Daten in dem Formular.
Code führt die Xrm.Page.data.refresh-Methode durch, wobei der Wert "True" als erster Parameter übergeben wird und sich nicht gespeicherte Daten in dem Formular befinden.
Um festzustellen auf welche Schaltfläche geklickt wurde, um das Speichern auszuführen, verwenden Sie die getSaveMode-Methode.
Sie können die Speicheraktion abbrechen, indem Sie die preventDefault-Methode im Ereignisargumentobjekt bereitstellen. Die preventDefault-Methode, die verfügbar ist, indem Sie die getEventArgs-Methode anwenden, die Teil des Ausführungskontexts ist. Sie müssen Sie den Formularereignishandler konfigurieren, damit Ausführungskontext übergeben wird. Weitere Informationen finden Sie unter Verwenden von Ausführungskontext und der Formularereignispipeline.
Feld-OnChange-Ereignis
Das OnChange-Ereignis tritt in der Regel auf, wenn die Daten in einem Formularfeld geändert wurde und Fokus verloren wurde.
Hinweis
Es gibt eine Ausnahme zu diesem Verhalten, die für Zwei-Option Felder (boolesche Felder) gelten, die so formatiert sind, dass Optionsfelder oder Kontrollkästchen verwendet werden. In einem solchen Fall tritt das Ereignis sofort auf.
Dieses Ereignis tritt auch auf, wenn Daten auf dem Server abgerufen werden, um ein Feld zu aktualiseren, wenn das Formular aktualisiert wird, z. B. nachdem ein Datensatz gespeichert wird.
Die Verwendung der Xrm.Page.data.entity attribute fireOnChange-Methode führt ebenfalls dazu, dass dieses Ereignis auftritt.
Das OnChange-Ereignis tritt nicht auf, wenn das Feld programmgesteuert mithilfe der setValue-Methode geändert wird. Wenn Sie Ereignishandler für das Ereignis OnChange nach dem Einstellen des Werts ausführen möchten, müssen Sie die Xrm.Page.data.entity attribute.fireOnChange-Methode in Ihrem Code verwenden.
Alle Felder unterstützen das OnChange-Ereignis. Daten im Feld werden vor und nach dem OnChange-Ereignis überprüft.
Hinweis
Obwohl das Status-Feld des OnChange-Ereignis unterstützt, ist das Feld schreibgeschützt, sodass das Ereignis nicht nach Benutzerinteraktion auftreten kann. Ein anderes Skript kann dazu führen, dass dieses Ereignis eintritt, indem die fireOnChange im Feld verwendet wird.
Registerkarte TabStateChange-Ereignis
Das TabStateChange-Ereignis tritt auf, wenn der DisplayState-Parameter aufgrund einer Benutzerinteraktion sich ändert, oder wenn die setDisplayState-Methode in Code angewendet wird. Verwenden Sie, wenn Sie die src-Eigenschaft eines IFRAMEs in der Registerkarte ändern möchten.
Hinweis
Dieses Ereignis wird für mobile Dynamics 365-Clients (Smartphones und Tablets) unterstützt, weil Registerkarten nicht erweitert oder reduziert werden können.
Wie in den mobilen Dynamics 365-Clients, werden die Registerkarten im interaktiven Servicehub nicht verkleinert oder vergrößert, aber das TabStateChange-Ereignis tritt auf, wenn der Benutzer von einer zu einer anderen Registerkarte im interaktiven Servicehub umzieht.
Wenn Sie die IFrame.src-Eigenschaft im OnLoad-Ereignis für einen IFRAME in einer reduzierten Registerkarte festlegen, wird der Wert überschrieben, wenn die Registerkarte erweitert wird.
IFRAME OnReadyStateComplete-Ereignis
Das OnReadyStateComplete-Ereignis gibt an, dass der Inhalt des IFRAMEs geladen wurde und im Code darauf zugegriffen werden kann. Verwenden Sie dieses Ereignis, wenn Sie auf IFRAME-Kontrollen in Ihren Skripts verweisen.
Hinweis
Dieses Ereignis wird für Dynamics 365 für Smartphones und den interaktiven Servicehub nicht unterstützt.
Nachschlagesteuerungs-PreSearch-Ereignis
Die Nachschlagesteuerung hat ein PreSearch-Ereignis, das auftritt, kurz bevor das Steuerelement ein Dialogfeld startet, um Datensätze zu suchen. Es gibt keine UI, um für dieses Ereignis Ereignishandler festzulegen. Sie müssen die addPreSearch- und removePreSearch-Methode im Nachschlagesteuerelement verwenden, um von Ereignishandler für das Ereignis hinzuzufügen oder zu entfernen.
Verwenden Sie dieses Ereignis mit anderen Suchsteuerelementmethoden und -ereignisse, um die Ergebnisse zu ändern, die in einer Suche nach dem auf Basis der Formulardaten angezeigt werden, die aktuell waren, kurz bevor das Nachschlagesteuerelement Suchergebnisse anzeigt, damit der Benutzer eines auswählt.
OnProcessStatusChange-Ereignis
Dieses Ereigngis tritt auf, wenn der Status einer Prozessinstanz wechselt. Verwenden Sie die Xrm.Page.data.process.addOnProcessStatusChange-Methode zum Hinzufügen von Ereignishandlern für diese Methode, und die Xrm.Page.data.process-, removeOnProcessStatusChange-Methode, um diese zu entfernen.Weitere Informationen:Schreiben von Skripts für Geschäftsprozessflüsse.
Hinweis
Dieses Ereignis wurde in Update für Dynamics 365 (online und lokal), Dezember 2016 eingeführt.
OnStageChange-Ereignis
Dieses Ereignis tritt auf, wenn die Geschäftsprozessflusssteuerung geändert wird. Dieses Ereignis tritt auf, wenn der Benutzer auf die Schaltflächen Nächste Phase oder Zurück zur vorherigen Phase auf der Benutzeroberfläche klickt, oder wenn ein Entwickler die Xrm.Page.data.process-,.moveNext-, Xrm.Page.data.process- oder movePrevious-Methode verwendet. Sie können die Phasenänderung nicht mithilfe von Code in einem Handler für dieses Ereignis abbrechen.
Ein Ausführungskontextobjekt wird an den Ereignishandlern für dieses Ereignis übergeben. Sie können die getEventArgs-Funktion verwenden, um ein Objekt abzurufen, das über die folgenden Methoden verfügt:
getDirection
Gibt eine Zeichenfolge zurück, die entweder "next" oder "previous" ist, um die Richtung der Phasenänderung anzuzeigen.getStage
Gibt ein Phasenobjekt zurück. Ausßer wenn die Navigation zu einer neuen Entität weitergeht, repräsentiert die zurückgegebene Phase das Zielphasenobjekt, d. h. die nächste aktive Phase. Wenn die Navigation zu einer neuen Entität weitergeht, ist die Phase die Phase, vob der navigiert wird, d. h. das vorige aktive Phasenobjekt.Weitere Informationen:Stage methods.
Verwenden Sie die Xrm.Page.data.process.addOnStageChange-Methode zum Hinzufügen von Ereignishandlern für diese Methode, und die Xrm.Page.data.process-, removeOnStageChange-Methode, um diese zu entfernen.Weitere Informationen:Schreiben von Skripts für Geschäftsprozessflüsse.
OnStageSelected-Ereignis
Dieses Ereignis tritt auf, wenn die Geschäftsprozessflusssteuerung ausgewählt wird. Sie können die Phasenauswahl nicht mithilfe von Code in einem Handler für dieses Ereignis abbrechen.
Ein Ausführungskontextobjekt wird an den Ereignishandlern für dieses Ereignis übergeben. Sie können die getEventArgs-Funktion verwenden, um ein Objekt abzurufen, das über die folgenden Methoden verfügt:
- getStage
Gibt ein Phasenobjekt zurück, das die ausgewählte Phase darstellt.Weitere Informationen:Stage methods.
Verwenden Sie die Xrm.Page.data.process.addOnStageSelected-Methode zum Hinzufügen von Ereignishandlern für diese Methode, und die Xrm.Page.data.process-, removeOnStageSelected-Methode, um diese zu entfernen.Weitere Informationen:Schreiben von Skripts für Geschäftsprozessflüsse.
Suchsteuerelement für die Wissensdatenbank – Ereignisse
Das Suchsteuerelement der Wissensdatenbank kann nur zu Formularen für Organisationen hinzugefügt werden, für die die Wissensmanagement-Funktion aktiviert ist. Dieses Steuerelement hat zwei Ereignisse (OnResultOpened und OnSelection), denen Entwickler programmgesteuert Ereignishandler zuweisen können.Weitere Informationen:Suchsteuerelement für die Wissensdatenbank (clientseitige Referenz)
Schreibgeschütztes Unterraster-OnLoad-Ereignis
Fügen Sie Ereignishandler dem OnLoad-Erreignis von Unterrastern hinzu.Weitere Informationen:Schreiben von Skripts für Unterraster
Bearbeitbares Raster-Ereignis
Fügen Sie Ereignishandler dem bearbeitbaren Raster-Ereignis hinzu.Weitere Informationen:Bearbeitbare Rasterobjekte und Methoden (clientseitige Referenz)
Siehe auch
Kurzübersicht zum Formularskripting
Schreiben von Code für Microsoft Dynamics 365-Formulare
Verwenden des Xrm.Page-Objektmodells
Cclientseitige Programmierreferenz
Schreiben von Skripts für Geschäftsprozessflüsse
Microsoft Dynamics 365
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright