Kontroller for Redigeringsskjema og Visningsskjema i Power Apps

Vis, rediger og opprett en post i en datakilde.

Beskrivelse

Hvis du legger til en Visningsskjema-kontroll, kan brukeren vise alle feltene i en post eller bare angitte felt. Hvis du legger til en Redigeringsskjema-kontroll, kan brukeren redigere disse feltene, opprette en post og lagre disse endringene i en datakilde.

Eksempelskjema og kontroller for skjemavisning.

Hvis du legger til en Galleri-kontroll, kan du konfigurere den til å vise en tabell i en datakilde og deretter konfigurere et skjema så det viser posten brukeren velger i galleriet. Du kan også legge til én eller flere Knapp-kontroller som brukeren kan velge for å lagre endringer, avbryte redigeringer og opprette poster. Du kan opprette en komplett løsning ved å bruke kontrollene sammen.

Begrensninger

Skjema-kontrollen har disse begrensningene:

  • Du kan ikke kopiere og lime inn skjemaer i datakort. Dette gjøres for å unngå at det opprettes bestemte kombinasjoner av kontroller som utsetter stabiliteten og ytelsen til appen for risiko.

Postutvalg

Du angir DataSource-egenskapen til en tabell med poster, og du angir Item-egenskapen for skjemaet til å vise en bestemt post i den aktuelle tabellen, uansett skjematype. Du kan for eksempel angi Item-egenskapen for et skjema til SelectedItem-egenskapen for en Galleri-kontroll. Når brukeren velger en post i galleriet, vises den samme posten i skjemaet, bortsett fra at skjemaet kan vise flere felt. Hvis brukeren returnerer til galleriet og velger en annen post, endres SelectedItem-egenskapen for galleriet. Denne endringen oppdaterer Item-egenskapen for skjemaet, som deretter viser den nylig valgte posten.

Du kan også angi Item-egenskapen for et skjema ved hjelp av Rullegardinliste-kontrollen, som Vis, rediger eller legg til en post beskriver, eller en funksjon som for eksempel Lookup eller First. Du kan for eksempel sette Item-egenskapen til en av disse formlene til å vise Fabrikam-oppføringen i Kontoer-tabellen i Microsoft Dataverse:

First(Accounts)

Lookup(Accounts, "Fabrikam" in name)

Hver enkelt skjemakontroll inneholder én eller flere Kort-kontroller. Ved å angi DataField-egenskapen for et kort angir du hvilket felt kortet viser samt andre detaljer.

Opprette en oppføring

Når en Redigeringsskjema-kontroll er i Redigeringsmodus, kan brukeren oppdatere posten som er angitt i Item-egenskapen for skjemaet. Ved inspeksjon returnerer Mode-egenskapen Rediger.

Når en Redigeringsskjema-kontroll er i Ny-modus, ignoreres imidlertid Item-egenskapen. Skjemaet viser ikke en eksisterende post, i stedet samsvarer verdiene i hvert felt med standardverdiene for datakilden du har konfigurert skjemaet med. NewForm-funksjonen gjør at et skjema bytter til denne modusen.

Du kan for eksempel angi Text-egenskapen for en knapp, slik at den viser Ny og OnSelect-egenskapen til en formel som inneholder NewForm-funksjonen. Hvis brukeren velger denne knappen, bytter skjemaet til Ny-modus, slik at brukeren kan opprette en post som begynner med kjente verdier.

Et skjema bytter tilbake til Redigeringsmodus-modus hvis ResetForm-funksjonen eller SubmitForm-funksjonen kjører.

  • Du kan angi Text-egenskapen for en knapp, slik at den viser Avbryt og dens OnSelect-egenskap til en formel som inneholder ResetForm-funksjonen. Hvis brukeren velger denne knappen, forkastes eventuelle endringer i fremdrift, og verdiene i skjemaet samsvarer med standardverdiene for datakilden igjen.
  • Du kan angi Text-egenskapen for en knapp så den viser Lagre endringer og OnSelect-egenskapen til en formel som inneholder SubmitForm-funksjonen. Hvis brukeren velger denne knappen og datakilden oppdateres, tilbakestilles verdiene i skjemaet til standardverdiene for datakilden.

Lagre endringer

Hvis du oppretter en Lagre endringer-knapp, som den forrige delen beskriver, kan brukeren opprette eller oppdatere en post og deretter velge denne knappen for å lagre disse endringene i datakilden. Du kan i stedet konfigurere en Bilde-kontroll eller en annen kontroll til å utføre den samme oppgaven, så lenge du konfigurerer kontrollen med SubmitForm-funksjonen. I alle tilfeller gir egenskapene Error, ErrorKind, OnSuccess og OnFailure tilbakemelding på resultatet.

Når SubmitForm-funksjonen kjører, validerer den først dataene brukeren vil sende inn. Hvis et påkrevd felt ikke inneholder en verdi, eller en annen begrensning ikke overholdes, angis ErrorKind-egenskapene, og OnFailure-formelen kjører. Du kan konfigurere Lagre endringer-knappen eller en annen kontroll, slik at brukeren kan velge den bare hvis dataene er gyldige (det vil si hvis Valid-egenskapen for skjemaet er sann). Vær oppmerksom på at brukeren ikke bare må løse problemet, men også velge Lagre endringer-knappen igjen (eller forkaste endringene ved å velge en Avbryt-knapp, som beskrevet tidligere) for å tilbakestille egenskapene Error og ErrorKind.

Hvis dataene består valideringen, sender SubmitForm dem til datakilden. Dette kan ta litt tid avhengig av ventetiden på nettverket.

  • Hvis innsendingen lykkes, fjernes Error-egenskapen, ErrorKind-egenskapen angis til ErrorKind.None, og OnSuccess-formelen kjører. Hvis brukeren har opprettet en post (det vil si hvis skjemaet tidligere var i Ny-modus), bytter skjemaet til Redigeringsmodus, slik at brukeren kan redigere den nyopprettede posten eller en annen post.
  • Hvis sendingen mislykkes, inneholder Error-egenskapen en brukervennlig feilmelding fra datakilden, som forklarer problemet. ErrorKind-egenskapen er angitt riktig, avhengig av problemet, og OnFailure-formelen kjører.

Noen datakilder kan oppdage når to personer prøver å oppdatere samme post samtidig. I dette tilfellet er ErrorKind angitt til ErrorKind.Conflict, og løsningen er å oppdatere datakilden med endringene til den andre brukeren og bruke endringene som er gjort av denne brukeren på nytt.

Tips

Hvis du tilbyr en Avbryt-knapp på skjemaet, slik at brukeren kan forkaste endringer i fremdrift, legger du ResetForm-funksjonen til i OnSelect-egenskapen for knappen, selv som egenskapen også inneholder en Navigate-funksjon for å endre skjerm. Hvis ikke, beholder skjemaet brukerens endringer.

Oppsett

Som standard plasseres kortene i en enkeltkolonne for telefonapper og tre kolonner for nettbrettapper. Du kan angi hvor mange kolonner et skjema har, og om kortene skal festes til dem, etter hvert som du konfigurerer skjemaet. Disse innstillingene eksponeres ikke som egenskaper fordi de bare brukes til å angi egenskapene X, Y, og Width for kortene.

Hvis du vil ha mer informasjon, kan du se Forstå oppsett av dataskjemaer.

Nøkkelegenskaper

DataSource – datakilden som inneholder posten brukeren vil vise, redigere eller opprette.

  • Hvis du ikke angir denne egenskapen, kan ikke brukeren vise, redigere eller opprette en post, og ingen ekstra metadata eller validering er oppgitt.

DefaultMode – opprinnelig modus for skjemakontrollen. Se beskrivelsen av Mode for de godkjente verdiene og deres betydning, nedenfor.

DisplayMode – modusen som brukes for datakort og kontroller i skjemakontrollen.

Avledet fra Mode-egenskapen grunnen og kan ikke angis uavhengig:

Modus DisplayMode Beskrivelse
FormMode.Edit DisplayMode.Edit Datakort og kontroller er redigerbare og klare for å godta endringer i en post.
FormMode.New DisplayMode.Edit Datakort og kontroller er redigerbare og klare for å godta en ny post.
FormMode.View DisplayMode.View Datakort og kontroller er ikke redigerbare eller optimalisert for visning.

Error – en brukervennlig feilmelding vises for dette skjemaet når SubmitForm-funksjonen mislykkes.

  • Denne egenskapen gjelder bare for Redigeringsskjema-kontrollen.
  • Denne egenskapen endres bare når funksjonene SubmitForm, EditForm eller ResetForm kjører.
  • Hvis det ikke oppstår feil, er denne egenskapen tom, og ErrorKind angis til ErrorKind.None.
  • Når dette er mulig, vil feilmeldingen returneres på brukerens språk. Noen feilmeldinger kommer direkte fra datakilden, og vises kanskje ikke på brukerens språk.

ErrorKind – hvis det oppstår en feil når SubmitForm kjører, viser dette typen feil som har oppstått.

  • Gjelder bare for Redigeringsskjema-kontroller.
  • Denne egenskapen har samme opplisting som Errors-funksjonen. En Redigeringsskjema-kontroll kan returnere disse verdiene:
ErrorKind Beskrivelse
ErrorKind.Conflict En annen bruker endret samme post, noe som resulterer i en endringskonflikt. Kjør Refresh-funksjonen for å laste inn posten på nytt, og prøv endringen på nytt.
ErrorKind.None Feilen er av ukjent type.
ErrorKind.Sync Datakilden har rapportert en feil. Kontroller Error-egenskapen for å få mer informasjon.
ErrorKind.Validation Det ble oppdaget en generell valideringsfeil.

Item – posten i DataSource som brukeren vil vise eller redigere.

LastSubmit – siste innsendte post, inkludert eventuelle servergenererte felt.

  • Denne egenskapen gjelder bare for Redigeringsskjema-kontrollen.
  • Hvis datakilden automatisk genererer eller beregner felt, slik som et ID-felt med et unikt nummer, får LastSubmit-egenskapen denne nye verdien etter kjøring av SubmitForm.
  • Verdien for denne egenskapen er tilgjengelig i OnSuccess-formelen.

Mode – kontrollen er i Redigeringsmodus eller Ny-modus.

Modus Beskrivelse
FormMode.Edit Brukeren kan redigere en post ved hjelp av skjemaet. Verdiene i kortene til skjemaet er forhåndsutfylt med den eksisterende posten, som kan endres av brukeren. Hvis SubmitForm-funksjonen kjører, endres den eksisterende posten.
FormMode.New Brukeren kan opprette en post ved hjelp av skjemaet. Verdiene i kontrollene til skjemaet er forhåndsutfylt med standarder for en post i datakilden. Hvis SubmitForm-funksjonen kjører, opprettes en post.
FormMode.View Brukeren kan vise en post ved hjelp av skjemaet. Verdiene i kontrollene til skjemaet er forhåndsutfylt med standarder for en post i datakilden.

Skjemaet bytter fra Ny-modus til Redigeringsmodus når noen av disse endringene forekommer:

  • Skjemaet er sendt inn, og en post opprettes. Hvis galleriet er angitt til automatisk flytting av utvalget til denne nye posten, settes skjemaet i Redigeringsmodus for den opprettede posten, slik at brukeren kan foreta ytterligere endringer.
  • EditForm-funksjonen kjører.
  • ResetForm-funksjonen kjører. Brukeren velger kanskje en Avbryt-knapp som er konfigurert med denne funksjonen.

OnFailure – Handlinger som skal utføres når en dataoperasjon ikke er mislykket.

  • Denne egenskapen gjelder bare for Redigeringsskjema-kontrollen.

OnReset – Handlinger som skal utføres når en Redigeringsskjema-kontroll tilbakestilles.

  • Denne egenskapen gjelder bare for Redigeringsskjema-kontrollen.

OnSuccess – Handlinger som skal utføres når en dataoperasjon er vellykket.

  • Denne egenskapen gjelder bare for Redigeringsskjema-kontrollen.

Unsaved – sann hvis Redigeringsskjema-kontrollen inneholder brukerendringer som ikke er lagret.

  • Denne egenskapen gjelder bare for Redigeringsskjema-kontrollen.
  • Bruk denne egenskapen for å gi brukeren en advarsel før de mister eventuelle endringer som ikke er lagret. Du hindrer at brukeren velger en annen post i en Galleri-kontroll før endringene lagres i gjeldende post, ved å angi Disabled-egenskapen til Form.Unsaved og på samme måte deaktivere oppdateringsoperasjoner.

Updates – verdiene som skrives tilbake til datakilden for en post som er lastet inn i en skjemakontroll.

  • Denne egenskapen gjelder bare for Redigeringsskjema-kontrollen.
  • Bruk denne egenskapen for å trekke ut feltverdiene fra kortene i kontrollen. Deretter kan du bruke disse verdiene til å oppdatere datakilden manuelt med et Patch-funksjonskall eller en annen metode som eksponeres av tilkoblingen. Du trenger ikke å bruke denne egenskapen hvis du bruker SubmitForm-funksjonen.
  • Denne egenskapen returnerer en post med verdier. Hvis for eksempel skjemakontrollen inneholder kortkontroller for feltene Navn og Antall, og verdiene for Update-egenskapene for disse kortene returnerer henholdsvis "Widget" og 10, returnerer Updates -egenskapen for skjemakontrollen { Name: "Widget", Quantity: 10 }.

Valid – Om kontrollene Kort eller Rediger skjema inneholder gyldige oppføringer og er klare til å sendes til datakilden.

  • Denne egenskapen gjelder bare for Redigeringsskjema-kontrollen.

  • Valid-egenskapen til en Skjema-kontroll samler Valid-egenskapene for alle Kort-kontrollene i skjemaet. Valid-egenskapen for et skjema er sann bare hvis dataene i alle kortene i skjemaet er gyldige. Hvis ikke er Valid-egenskapen for skjemaet usann.

  • Angi DisplayMode for knappen til denne formelen for å aktivere en knapp så den lagrer endringer bare når dataene i et skjema er gyldige, men fremdeles ikke har blitt sendt inn:

    SubmitButton.DisplayMode = If(IsBlank( Form.Error ) || Form.Valid, DisplayMode.Edit, DisplayMode.Disabled)

Tilleggsegenskaper

BorderColor – fargen på kontrollens kantlinje.

BorderStyle – hvorvidt kontrollens kantlinje er heltrukket, stiplet, prikket eller ingen.

BorderThickness – tykkelsen på kontrollens kantlinje.

Fill – bakgrunnsfargen på kontrollen.

Height – avstanden mellom kontrollens øvre og nedre kant.

Visible – om kontrollen vises eller skjules.

Width – avstanden mellom kontrollens venstre og høyre kant.

X – avstanden mellom kontrollens venstre kant og den venstre kanten til kontrollens overordnede beholder (eller skjermen, hvis det ikke finnes noen overordnet beholder).

Y – avstanden mellom kontrollens øvre kant og den øvre kanten til kontrollens overordnede beholder (eller skjermen, hvis det ikke finnes noen overordnet beholder).

Mer informasjon

Retningslinjer for tilgjengelighet

Skjermleserstøtte

  • Vurder å legge til en overskrift i skjemaet ved bruk av en Etikett.

Obs!

Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)

Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).