Kortkontroller utgör byggstenarna i kontrollerna Redigera formulär och Visa formulär. Formuläret representerar hela posten och varje kort representerar ett fält i posten.

Det enklaste sättet att interagera med kort sker via det högra fönstret när en formulärkontroll har valts i designarbetsytan. Du kan välja vilka fält som ska visas och hur varje fält ska visas samt ändra ordning på fälten i det här fönstret.

Kom igång med kort, se lägga till ett formulär och förstå dataformulär. Resten av det här avsnittet handlar om hur kort fungerar och hur du kan anpassa eller skapa dina egna.

Fördefinierade kort

PowerApps innehåller en fördefinierad uppsättning kort för strängar, siffror och andra datatyper. Du kan se tillgängliga varianter och ändra kortet som används för ett fält i den högra rutan:

I det här exemplet har vi valt ett textkort med en enkel rad men webbadressen är längre än vad som får plats på en rad. Vi kan byta till flera rader så att våra användare får mer utrymme för ändringar:

De kan dessutom se att flera fält i datakällan inte visas. Visa och dölja dessa med ögonikonen:

Anpassa ett kort

Kort innehåller andra kontroller. Användaren anger data i en vanlig textinmatningkontroll som du lägger till från fliken Infoga.

Låt oss ta en titt på några exempel på hur kortets utseende kan ändras genom att manipulera kontrollerna.

  1. Först måste vi återgå till kortet vi infogade sist och titta på fältet SecurityCode. Välj det här kortet genom att klicka eller trycka på den en gång:

  2. Välj kontrollen textinmatning i kortet genom att klicka eller trycka på själva kontrollen.

  3. Flytta den här kontrollen i kortet genom att dra rutan och ändra storlek på kontrollen genom att dra handtaget längs rutans kant:

    Du kan ändra storlek, flytta och göra andra ändringar i kontrollen, men du kan inte ta bort den utan att låsa upp den först. Nästa avsnitt beskriver hur du låser upp ett kort.

  4. Infoga en eller flera kontroller i kortet, till exempel stjärnformen, från menyn Former på fliken Infoga:

    Den nya kontrollen är nu en del av kortet och följer med kortet även om du omorganiserar korten i formuläret.

Du kan också visa en bild i en bildkontroll i stället för en bilds webbadress i en textinmatningkontroll som den här bilden visar

  1. På fliken infoga lägger du till en bildkontroll under kortet ImageURL:

  2. I formelfältet, anger du egenskapen bild för den här kontrollen som TextBox.Text där TextBox är namnet på den textinmatningkontroll som innehåller webbadressen:

    Tips: Tryck på Alt för att visa namnet på varje kontroll.

    Nu kan vi visa bilderna och redigera deras webbadresser. Observera att vi kan använda Parent.Default som egenskapen Bild, men har inte uppdaterats eftersom användaren har angett en ny webbadress.

  3. Vi kan göra samma sak på den andra skärmen i den här appen, där vi använder kontrollen Visa formulär för att visa information om en post. Här kanske vi vill dölja textrutan (ange egenskapen Synlig för textrutan, inte kortet, som falskt) eftersom användaren inte kommer att redigera webbadressen på skärmen:

Låsa upp ett kort

Kort innehåller kontroller men är också själva kontroller med egenskaper och formler, precis som andra kontroller. När du väljer att visa ett fält i ett formulär skapar fönstret till höger automatiskt ett kort åt dig med lämpliga formler. Vi kan se dessa formler i fönstret Avancerat från fliken Visa:

Vi ser direkt en av viktigaste egenskaperna för kortet: egenskapen DataField. Den här egenskapen anger vilket fält i datakällan användaren kan se och redigera i det här kortet.

I vyn Avancerat anger den stora banderollen längst upp att egenskaperna för det här kortet är låst. En låsikon visas dessutom bredvid egenskaperna DataField, Default och DisplayName. Den högra rutan skapade formlerna och låset förhindrar oavsiktliga ändringar av dessa egenskaper.

Klicka på eller tryck på banderollen längst upp för att låsa upp kortet så att du kan ändra följande egenskaper:

Vi ändrar nu DisplayName för att placera ett blanksteg mellan Asset och ID. Med den här ändringen ändrar vi informationen som skapades åt oss. Det här kortet har en annan etikett i rutan till höger:

Vi har nu tagit kontroll över det här kortet och kan ändra det ytterligare så att de passar våra behov. Men vi kan inte längre ändra kortet från en representation till en annan (till exempel en textruta till flerradig text) som vi kunde innan. Vi har omvandlas det fördefinierade kortet till ett "anpassade kort" som vi nu kan styra.

En liten varning: det går inte att låsa kortet igen om du låser upp det. Om du vill ha ett låst kort igen måste du ta bort det och skapa ett nytt i det högra fönstret.

Interagera med formuläret

När du har låst kortet kan ändra hur det interagerar med formuläret som omger det.

Nedan följer några riktlinjer för hur kontroller ska samspela med sina kort och hur korten ska fungera med formuläret. Detta är bara riktlinjer. Du kan skapa formler som refererar till någon annan kontroll i PowerApps vilket också gäller för kort och kontroller inom kort. Var kreativ: du kan skapa en app på många sätt.

Egenskapen DataField

Den viktigaste egenskapen på kortet är egenskapen DataField. Den här egenskapen styr validering, vilket fält som uppdateras och andra aspekter av kortet.

Ingående information

Formuläret fungerar som behållare för ThisItem och gör det tillgängliga för alla kort i formuläret. Den här posten innehåller alla fält för den aktuella posten.

Egenskapen Default för varje kort ska vara inställd på ThisItem.FieldName. Under vissa omständigheter vill du kanske omvandla det här värdet på vägen in. Du kanske vill kunna formatera en sträng eller översätta ett värde från ett språk till ett annat.

Varje kontroll i kortet bör innehålla en referens till Parent.Default för att hämta fältvärdet. Den här strategin ger en nivå av inkapsling för kortet så att kortets Standard-egenskap kan ändras utan att ändra kortets interna formler.

Som standard hämtas egenskapernaDefaultValue och Obligatoriskt från datakällans metadata baserat på egenskapen DataField. Du kan åsidosätta formlerna med egen logik och integrera datakällans metadata med hjälp av funktionen DataSourceInfo.

Utgående information

När användaren ändrar en post med hjälp av kontroller i kort, sparar funktionen SubmitForm sparar ändringarna till datakällan. När funktionen körs läser formulärkontrollen värdena för varje korts DataField-egenskap för att avgöra vilka fält som ska ändras.

Formulärkontrollen läser även värdet för varje korts uppdateringegenskap. Det här värdet kommer att lagras i datakällan för det här fältet. Här kan du tillämpa en annan transformering, till exempel för att återställa transformeringen som tillämpades på kortets Default-formel.

Den egenskapen Valid drivs av metadata från datakällan, baserat på egenskapen DataField. Den bygger också på egenskapen Obligatoriskt och om egenskapen Uppdatering innehåller ett värde. Om värdet på egenskapen Uppdatering egenskapen inte är giltig, visar egenskapen Fel ett användarvänligt felmeddelande.

Om egenskapen DataField för ett kort är tom är kortet bara en behållare för kontrollerna. Egenskaperna Giltig och Uppdatering medverkar inte när formuläret skickas.

En närmare titt på ett exempel

Låt oss titta på de kontroller som utgör ett grundläggande inmatningskort. Avståndet mellan kontrollerna har ökat visa varje kontroll tydligare:

Håll ned Alt-tangenten för att visa namnen på de kontroller som tillsammans bildar det här kortet:

Fyra kontroller får det här kortet att fungera:

Namn Typ Beskrivning
TextRequiredStar Kontrollen Text box Visar en stjärna, vilket ofta används i datainmatningsformulär för att indikera att ett fält är obligatoriskt.
TextFieldDisplayName Kontrollen Text box Visar ett användarvänligt namn för det här fältet. Det här namnet kan skilja sig från namnet i datakällans schema.
InputText Kontroll för textinmatning Visar det första värdet i fältet och gör att användaren kan ändra värdet.
TextErrorMessage Kontrollen Text box Visar ett användarvänligt felmeddelande för användaren om ett problem uppstår med verifieringen. Innebär också att fältet har ett värde om detta krävs.

Egenskaperna kan också styras från kortets egenskaper via nyckelformler för att fylla kontrollerna med data. Observera att inga av dessa formler refererar till ett visst fält. All information som hämtas i stället från kortet.

Kontrollegenskap Formel Beskrivning
TextRequiredStar.Visible Parent.Required En stjärna visas endast om fältet är obligatoriskt. Obligatoriskt är en formel som drivs av dig eller datakällans metadata.
TextFieldDisplayName.Text Parent.DisplayName Textrutan visar ett användarvänligt namn som du eller datakällans metadata ger och som har angetts på kortets DisplayName-egenskap.
InputText.Default Parent.Default Textinmatningskontrollen visar ursprungsvärdet för fältet från datakällan, som tillhandahålls av standardvärdet för kortet.
TextErrorMessage.Text Parent.Error Om ett verifieringsproblem inträffar visar kortets felegenskap ett lämpligt felmeddelande.

Vi har följande nyckelformler för att hämta information från de här kontrollerna och skicka tillbaka den till datakällan:

Kontrollens namn Formel Beskrivning
DataCard.DataField "ApproverEmail" Namnet på fältet som användaren kan visa och redigera i det här kortet.
DataCard.Update InputText.Text Värdet för att verifiera och skicka tillbaka till datakällan när SubmitForm körs.