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.

Du kan enklast interagera med kort i den högra rutan efter det att du har markerat en formulärkontroll på designarbetsytan. I det här fönstret kan du välja vilka fält som ska visas och hur och i vilken ordning respektive fält ska visas. I det här exemplet visas en Edit form-kontroll i en app som skapats från en SharePoint-lista som heter Assets.

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:

Flera fält i datakällan visas inte, men du kan visa eller dölja ett fält genom att markera dess kryssruta. I det här exemplet ser du hur du kan visa fältet SecurityCode.

Anpassa ett kort

Kort innehåller andra kontroller. I en Edit form-kontroll anger användaren data i en vanlig textinmatningskontroll som du lägger till från fliken Infoga.

Låt oss ta en titt på ett exempel på hur du kan ändra kortets utseende genom att manipulera dess kontroller.

  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 av kontrollerna i ett kort, men du kan inte ta bort det utan att först låsa upp det.

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 på fliken Avancerat i den högra panelen:

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.

Banderollen högst upp på fliken Avancerat anger att kortets egenskaper är låsta. En låsikon visas dessutom bredvid egenskaperna DataField, DisplayName och Required. 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.

Viktigt: Det går inte att låsa ett kort igen om du låser upp det. Om du vill få ett kort låst igen måste du ta bort det och återinföra det i det högra fönstret.

Du kan ändra utseendet och beteendet för ett olåst kort på flera olika sätt, t.ex. genom att lägga till och ta bort kontroller i det. Du kan t.ex. lägga till en stjärna från menyn Ikoner på fliken Infoga.

Stjärnan är nu en del av kortet och följer med det även om du omorganiserar korten i formuläret.

Ett annat exempel är att låsa upp ImageURL-kortet och sedan lägga till en bildkontroll till från fliken Infoga:

I formelfältet anger du egenskapen Image för den här kontrollen som TextBox. Text där TextBox är namnet på den kontroll för textinmatning 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 Image, men den skulle inte uppdateras eftersom användaren ändrade webbadressen.

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. I det här fallet vill vi kanske dölja etiketten (ange egenskapen Synlig för etiketten, inte kortet, som falskt) eftersom användaren inte kommer att redigera webbadressen på skärmen:

Interagera med formulär

När du har låst upp ett kort kan du ä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 Etikettkontroll Visar en stjärna, vilket ofta används i datainmatningsformulär för att indikera att ett fält är obligatoriskt.
TextFieldDisplayName Etikettkontroll 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 Etikettkontroll 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.