Formuliergebeurtenissen (clientreferentie)
Gepubliceerd: januari 2017
Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Alle code aan de clientzijde wordt uitgevoerd door gebeurtenissen. In Microsoft Dynamics 365 moet u een speciale functie binnen een JavaScript-bibliotheek koppelen die moet worden uitgevoerd wanneer bepaalde gebeurtenissen optreden.
Alle formuliergebeurtenissen hebben een gebruikersinterface die u gebruikt om een of meer gebeurtenishandlers op te geven. Elke gebeurtenishandler geeft één functie in een JavaScript-bibliotheek op en eventuele parameters die aan de functie kunnen worden doorgegeven.
Gebeurtenissen
Gebeurtenis OnLoad
Gebeurtenis OnSave
Veldgebeurtenis OnChange
Tabbladgebeurtenis TabStateChange
IFRAME-gebeurtenis OnReadyStateComplete
Gebeurtenis PreSearch van opzoekbesturingselement
OnProcessStatusChange-gebeurtenis
Gebeurtenis OnStageChange
Gebeurtenis OnStageSelected
Gebeurtenissen voor zoekbesturingselement voor Knowledge Base
De gebeurtenis OnLoad voor een alleen-lezensubraster
Gebeurtenissen voor bewerkbare rasters
Gebeurtenis OnLoad
De OnLoad-gebeurtenis vindt plaats nadat het formulier is geladen. De gebeurtenis kan niet voorkomen dat het venster wordt geladen. Gebruik de gebeurtenis OnLoad om logica toe te passen over hoe het formulier moet worden weergegeven, om eigenschappen voor velden in te stellen en om met andere pagina-elementen te communiceren.
Als de verbinding van de Microsoft Dynamics 365 voor tablets-client wordt verbroken, is de gebeurtenis OnLoad de enige gebeurtenis die optreedt.
Notitie
Formulieren voor Bijgewerkte entiteiten laden de pagina niet opnieuw nadat voor het eerst wordt opgeslagen om de record te maken of nadat volgende keren wordt opgeslagen. Daarom treedt de gebeurtenis OnLoad alleen op tijdens de eerste keer dat het formulier wordt geladen.
Gebeurtenis OnSave
De OnSave-gebeurtenis vindt plaats wanneer:
De gebruiker klikt op de knop in de rechterbenedenhoek van het formulier, zelfs wanneer er geen gewijzigde gegevens zijn om op te slaan.
Code voert de methode Xrm.Page.data.entity.Opslaan uit, zelfs wanneer er geen gewijzigde gegevens zijn om op te slaan.
De gebruiker navigeert weg van het formulier en er zijn niet-opgeslagen gegevens in het formulier.
Als automatisch opslaan is ingeschakeld, 30 seconden nadat gegevens zijn gewijzigd en er zijn niet-opgeslagen gegevens in het formulier.
Code voert de methode Xrm.Page.data.Opslaan uit en er zijn niet-opgeslagen gegevens in het formulier.
Code voert de methode Xrm.Page.data.vernieuwen uit door een waarde te geven als eerste parameter en er zijn niet-opgeslagen gegevens in het formulier.
Om te bepalen op welke knop is gedrukt om op te slaan gebruikt u de methode getSaveMode.
U kunt de opslagbewerking annuleren met de methode preventDefault in het object met gebeurtenisargumenten. De methode preventDefault die toegankelijk is door middel van de methode getEventArgs, die deel uitmaakt van de uitvoeringscontext. U moet de formuliergebeurtenishandler configureren zodat de uitvoeringscontext wordt doorgegeven. Zie Uitvoeringscontext en de formuliergebeurtenispipeline gebruiken voor meer informatie.
Veldgebeurtenis OnChange
De gebeurtenis OnChange wordt meestal in gang gezet als de gegevens in een formulierveld zijn gewijzigd en het veld niet meer is geselecteerd.
Notitie
Is er een uitzondering op gedrag dat van toepassing is op (Booleaanse) velden met twee opties die zo zijn opgemaakt dat ze keuzerondjes of selectievakjes gebruikt. In dergelijke gevallen treedt de gebeurtenis direct op.
Deze gebeurtenis vindt ook plaats wanneer de gewijzigde gegevens offline op de server worden opgehaald voor een veld als het formulier is vernieuwd, zoals bij te werken nadat een record is opgeslagen.
Gebruik van de methode Xrm.Page.data.entity kenmerk.fireOnChange zorgt er ook voor dat deze gebeurtenis zich voordoet.
De gebeurtenis OnChange vindt niet plaats wanneer het veld via programmering wordt gewijzigd met de setValue-methode. Als u wilt dat de gebeurtenishandlers voor de OnChange-gebeurtenis worden uitgevoerd nadat u de waarde hebt ingesteld, moet u de methode Xrm.Page.data.entity kenmerk.fireOnChange gebruiken in uw code.
Alle velden ondersteunen de gebeurtenis OnChange. De gegevens in het veld worden gevalideerd voor en na de gebeurtenis OnChange.
Notitie
Hoewel het veld Status de gebeurtenis OnChange ondersteunt, is het veld alleen-lezen in het formulier, zodat de gebeurtenis niet kan optreden door middel van gebruikersinteractie. Een ander script kan deze andere gebeurtenis veroorzaken met behulp van de methode fireOnChange op het veld.
Tabbladgebeurtenis TabStateChange
De gebeurtenis TabStateChange treedt op wanneer de DisplayState van het tabblad verandert wegens gebruikersinteractie of wanneer de methode setDisplayState in code wordt toegepast. Gebruik deze gebeurtenis als u de src-eigenschap van een IFRAME in het tabblad wilt wijzigen.
Notitie
Deze gebeurtenis wordt wordt niet ondersteund op de mobiele Dynamics 365-clients (telefoons en tablets), omdat tabbladen niet uit- of samenvouwen.
Zoals in de Dynamics 365 mobiele clients worden de tabbladen in de interactieve servicehub niet uit- of samengevouwen, maar vindt de TabStateChange gebeurtenis plaats wanneer de gebruiker van het ene tabblad naar het andere gaat in de interactieve servicehub.
Als u de eigenschap IFrame.src instelt in de gebeurtenis OnLoad voor een IFRAME binnen een samengevouwen tabblad, wordt de waarde overschreven wanneer het tabblad wordt uitgevouwen.
IFRAME-gebeurtenis OnReadyStateComplete
De gebeurtenis OnReadyStateComplete geeft aan of de inhoud van de IFRAME is geladen en in code toegankelijk is. Gebruik deze gebeurtenis wanneer u in uw scripts verwijst naar IFRAME-besturingselementen.
Notitie
Deze gebeurtenis wordt niet ondersteund voor Dynamics 365 voor telefoons en de interactieve servicehub.
Gebeurtenis PreSearch van opzoekbesturingselement
Het opzoekbesturingselement heeft een gebeurtenis PreSearch die optreedt vlak voor het besturingselement een dialoogvenster start om records te zoeken. Er is geen gebruikersinterface om gebeurtenishandlers voor deze gebeurtenis in te stellen. U moet de methode addPreSearch en removePreSearch in het opzoekbesturingselement gebruiken om gebeurtenishandlers voor deze gebeurtenis toe te voegen of te verwijderen.
Gebruik deze gebeurtenis met andere Beheer van opzoekmethoden en evenementen om de resultaten te wijzigen die in een opzoekactie worden weergegeven op basis van de huidige formuliergegevens vlak voordat het opzoekbesturingselement zoekresultaten weergeeft waaruit een gebruiker kan kiezen.
OnProcessStatusChange-gebeurtenis
Deze gebeurtenis vindt plaats wanneer de status van een procesexemplaar wordt gewijzigd. Gebruik de methode Xrm.Page.data.process.addOnProcessStatusChange om gebeurtenishandlers voor deze gebeurtenis toe te voegen en de methode Xrm.Page.data.process.removeOnProcessStatusChange om deze te verwijderen.Meer informatie:Scripts schrijven voor bedrijfsprocesstromen.
Notitie
Deze gebeurtenis werd geïntroduceerd in Update voor Dynamics 365 (online en on-premises) - december 2016.
Gebeurtenis OnStageChange
Deze gebeurtenis vindt plaats wanneer de fase van een bedrijfsprocesstroombesturingselement wordt gewijzigd. Deze gebeurtenis vindt plaats wanneer de gebruiker op de knop voor Volgende fase of Terug naar vorige fase klikt in de gebruikersinterface of wanneer een ontwikkelaar de methoden Xrm.Page.data.process.moveNext of Xrm.Page.data.process.movePrevious gebruikt. U kunt de fasewijziging niet annuleren met code in een handler voor deze gebeurtenis.
Er wordt een uitvoeringscontextobject aan gebeurtenishandlers doorgegeven voor deze gebeurtenis. U kunt de functie getEventArgs gebruiken om een object op te halen dat de volgende methoden heeft:
getDirection
Retourneert een tekenreeks die "next" of "previous" is om de richting van de fasewijziging aan te geven.getStage
Retourneert een faseobject. Behalve wanneer de navigatie naar een nieuwe entiteit gaat, vertegenwoordigt de geretourneerde fase het bestemmingsfaseobject, oftewel de volgende actieve fase. Wanneer de navigatie naar een nieuwe entiteit gaat, is de fase de fase waar vandaan wordt genavigeerd, oftewel het vorige actieve faseobject.Meer informatie:Fasemethoden.
Gebruik de methode Xrm.Page.data.process.addOnStageChange om gebeurtenishandlers voor deze gebeurtenis toe te voegen en de methode Xrm.Page.data.process.removeOnStageChange om deze te verwijderen.Meer informatie:Scripts schrijven voor bedrijfsprocesstromen.
Gebeurtenis OnStageSelected
Deze gebeurtenis vindt plaats wanneer een fase van een bedrijfsprocesstroombesturingselement wordt geselecteerd. U kunt de faseselectie niet annuleren met code in een handler voor deze gebeurtenis.
Er wordt een uitvoeringscontextobject aan gebeurtenishandlers doorgegeven voor deze gebeurtenis. U kunt de functie getEventArgs gebruiken om een object op te halen dat de volgende methoden heeft:
- getStage
Retourneert een faseobject dat de geselecteerde fase vertegenwoordigt.Meer informatie:Fasemethoden.
Gebruik de methode Xrm.Page.data.process.addOnStageSelected om gebeurtenishandlers voor deze gebeurtenis toe te voegen en de methode Xrm.Page.data.process.removeOnStageSelected om deze te verwijderen.Meer informatie:Scripts schrijven voor bedrijfsprocesstromen.
Gebeurtenissen voor zoekbesturingselement voor Knowledge Base
Het besturingselement voor de Knowledge base-zoekactie kan alleen worden toegevoegd aan formulieren voor organisaties waarvoor de functie kennisbeheer is ingeschakeld. Dit besturingselement heeft twee gebeurtenissen (OnResultOpened en OnSelection) waarmee ontwikkelaar via programmeren gebeurtenishandlers kunnen toevoegen.Meer informatie:Zoekbesturingselement voor Knowledge Base (clientreferentie)
De gebeurtenis OnLoad voor een alleen-lezensubraster
Koppel gebeurtenishandlers aan de gebeurtenis OnLoad van subrasters.Meer informatie:Scripts schrijven voor subrasters
Gebeurtenissen voor bewerkbare rasters
Koppel gebeurtenishandlers aan de gebeurtenis voor bewerkbare rasters.Meer informatie:Bewerkbare rasterobjecten en -methoden (clientreferentie)
Zie ook
Beknopte naslag voor het opstellen van formulierscripts
Code schrijven voor Microsoft Dynamics 365-formulieren
Het objectmodel Xrm.Page gebruiken
Programmeerreferentie op de client
Scripts schrijven voor bedrijfsprocesstromen
Microsoft Dynamics 365
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht