Hendelser i skjemaer og rutenett i modelldrevne apper

Hendelser i skjemaer og rutenett starter all kode på klientsiden i modelldrevne apper. Du knytter en bestemt funksjon i et JavaScript-bibliotek (skriptnettressurs) som skal utføres når en hendelse inntreffer. Denne funksjonen kalles en hendelsesbehandling. Hver hendelsesbehandling angir én enkelt funksjon i et JavaScript-bibliotek og eventuelle parametere som kan sendes til funksjonen.

Du kan bare knytte hendelsesbehandlinger til noen hendelser ved hjelp av brukergrensesnittet. For hendelser som du ikke kan knytte til via brukergrensesnittet, inneholder klient-API-en metoder som du kan bruke til å legge ved hendelsesbehandlinger.

Legge til eller fjerne hendelsesbehandlingsfunksjoner i skjemaer ved hjelp av brukergrensesnittet

Slik legger du til eller fjerner hendelsesbehandlingsfunksjoner for hendelser i det nye enhetlige grensesnittet:

  1. Gå til Power Apps.

  2. Velg Data i venstre navigasjonsrute, og velg deretter Tabeller.

  3. Velg tabellen der du vil legge til hendelsesbehandlingene, fra listen over tabeller.

  4. Velg Skjemaer-fanen fra kommandolinjen, og velg deretter skjemaet der du vil legge til hendelsesbehandlingen.

    Skjermbilde av Skjemaer-fanen som viser listen over skjemaer for en tabell i Power Apps.

  5. Velg Hendelser-fanen . Du ser både hendelsesbehandlingene Ved lagring og Ved lasting .

    Skjermbilde av Hendelser-fanen som viser hendelsesbehandlingene Ved lagring og ved lasting av skjema.

  6. Hvis du vil legge til en hendelsesbehandling for endringshendelsen, velger du kolonnen og velger deretter Hendelse-fanen.

    Skjermbilde av kolonnehendelser-fanen som viser innstillingene for hendelsesbehandling ved endring.

Masseredigering av skjemaer

Som standard kjører ikke hendelsesbehandlinger når et skjema er i masseredigeringsmodus.

Hvis du vil aktivere en hendelsesbehandling i masseredigeringsmodus, endrer du XML-skjemaet ved å finne det relevante event elementet og opprette eller angi attributtet BehaviorInBulkEditForm til Enabled. Denne virkemåten støttes for øyeblikket bare for OnLoad-hendelser.

Hvis du vil ha mer informasjon om skjema-XML-tilpassing, kan du se Når du skal redigere tilpassingsfilen, Tilpasse skjemaer og SKJEMA XML-skjemaet.

Hvis du vil finne ut når en hendelsesbehandling kjører på et skjema i masseredigeringsmodus, bruker du getFormType metoden.

Legge til eller fjerne hendelsesbehandlingsfunksjoner ved hjelp av klient-API-kode

Bruk følgende metoder for å legge til og fjerne hendelsesbehandlinger for hendelser som du ikke kan knytte til via brukergrensesnittet:

Hendelser Hendelsesbehandling
Attributtet OnChange addOnChange og removeOnChange-metoder
Skjema vedlasting formContext.ui addOnLoad og removeOnLoad-metoder
Skjema lastet inn formContext.ui addLoaded og removeLoaded-metoder
Skjemadata OnLoad formContext.data addOnLoad og removeOnLoad-metoder
Skjema onSave addOnSave- og removeOnSave-metoder
Oppslagskontroll Forhåndssøk addPreSearch- og removePreSearch-metoder
kbsearch-kontroll OnResultOpened addOnResultOpened og removeOnResultOpened-metoder
kbsearch-kontroll OnSelection addOnSelection og removeOnSelection-metoder
kbsearch control PostSearch addOnPostSearch og removeOnPostSearch-metoder

Viktig!

Kjøringskonteksten sendes automatisk som den første parameteren til funksjoner som du angir ved hjelp av koden. Hvis du vil ha mer informasjon, kan du se kontekst for kjøring av klient-API.

Datasamlebånd for skjemahendelse

Du kan definere opptil 50 hendelsesbehandlinger for hver hendelse. Hendelsesbehandling-delen i Hendelser-fanen i dialogboksen Egenskaper for skjema viser rekkefølgen på hendelsesbehandlinger, og hver hendelsesbehandling kjører i den rekkefølgen.

Bruk metodene setSharedVariable og getSharedVariable til å sende en felles variabel mellom hendelsesbehandlinger (funksjoner). Bruk getDepth-metoden for utførelseskontekst til å forstå sekvensen av kjøring av hendelsesbehandling i forhold til andre hendelsesbehandlinger.

Forstå klient-API-objektmodellen
Klient-API-kjøringskontekst
Hendelser (klient-API-referanse)