Skapa appar snabbare med entitetsformulärkontroll för att lägga till avancerade formulär för en Common Data Service-entitet.

En introduktion till entitetsformulärkontroll, finns i det här blogginlägget: Ny entitetsformulärkontroll (experimentfunktion) för Common Data Service.

Viktigt: Tänk på den experimentella natur som entitetsformulärkontrollen har, som beskrivs i blogginlägget, och var försiktig med att använda entitetsformulärkontrollen i produktionsappar, åtminstone just nu.

Nyckelegenskaper

Här följer nyckelegenskaperna för en entitetsformulärkontroll.

DataSource – anger den datakälla som innehåller de poster som du vill visa.
Observera: För närvarande stöds endast enheter i Common Data Service som datakällor för entitetsformulärkontrollen.

Pattern – anger formatet för formuläret som du vill visa i entitetsformulärkontrollen. Ange den här egenskapen genom att använda FormPattern-uppräkning.

  • FormPattern.List – visar en lista med poster i tabellformat.
  • FormPattern.CardList – visar en kort lista med poster.
  • FormPattern.Details – visar ett formulär för att visa eller redigera detaljer för en enskild post.
  • FormPattern.None – ingen formatmall har uttryckligen angetts. Standard är List för tablet-appar och CardList för telefonappar.

Item – anger posten i den datakälla som entitetsformulärkontrollen ska visa. Den här egenskapen används endast när Pattern har angetts till FormPattern.Details.

Selected – hämtar den post som för närvarande är markerad.
Exempel: Om entitetsformulärkontrollen visar en lista över försäljningsorderposter, ger egenskapen Selected dig den post som för närvarande är markerad. Du kan även använda ett fält i en post. (Ange till exempel värdet för fältet Konto för den valda posten som Selected.Account.)

SelectableFields – anger vilka fält som ska visas som länkar. Ange värdet för den här egenskapen med följande syntax:
{Field1Name : sant, Field2Name : sant}
Exempel: Om du vill att fälten SalesOrderId och Konto ska visas som länkar i ett formulär kan du ange egenskapen SelectableFields för det formuläret till det här värdet:
{SalesOrderId : sant, Konto : sant}

SelectedField – bestämmer vilka fält som har klickats eller tryckts på. Detta gäller enbart för de fält som anges som SelectableFields.
Exempel: Om du ställer in egenskapen SelectableFields till {SalesOrderId : true, Konto : true} och användaren klickar eller trycker på fältet Konto, anges SelectedField.Account till sant.

OnFieldSelect – hur en app reagerar när användaren klickar eller trycker på ett fält. Detta gäller enbart för de fält som anges som SelectableFields.

Mode – anger läget för formuläret. Om du vill ändra läget använder du funktionen ViewForm, EditForm eller NewForm. Fungerar bara när egenskapen Pattern har angetts till FormPattern.Details. Ange ett värde för egenskapen Mode till ett värde för FormMode-uppräkning.

  • FormMode.View – låter användarna visa men inte redigera eller lägga till en post.
  • FormMode.Edit – tillåter användare att redigera en post.
  • FormMode.New – tillåter användare att lägga till en post.

OnSuccess – Hur en app svarar när en dataåtgärd har lyckats.

OnFailure - hur en app reagerar när en dataåtgärd har misslyckats.

Unsaved – anger om en post som en användare redigerar har sparats.

Relaterade funktioner

Du kan använda delade funktioner med antingen entitetsformulärkontroll eller redigera formulärkontroll. Dessa funktioner fungerar med entitetsformulärkontrollen bara när dess egenskap Pattern är inställd till FormPattern.Details.

ViewForm – anger egenskapen Mode för en entitetsformulärkontroll till FormMode.View.

EditForm – anger egenskapen Mode för en entitetsformulärkontroll till FormMode.Edit.

NewForm – anger egenskapen Mode för en entitetsformulärkontroll till FormMode.New.

SubmitForm – sparar ändringar när en användare redigerar en post i en entitetsformulärkontroll.

ResetForm – avbryter ändringar när en användare redigerar en post i en entitetsformulärkontroll.

Nu när du har en översikt över de olika egenskaperna och funktionerna kan vi titta på dem i praktiken.

Observera: Om du inte har åtkomst till Common Data Service-databasen, kan du skapa en innan du börjar följa dessa steg.

Visa en lista med poster

I nästa fem procedurer följer exempel på hur du använder ett enkelt exempel från slutpunkt till slutpunkt för hur du använder entitetsformulärkontroller. Lägg i den här proceduren till ett formulär som visar en lista över försäljningsorder.

  1. Skapa en tom tablet-app.

  2. Byt namn på den första skärmen SalesOrderListScreen.

  3. På fliken Infoga klickar du på eller trycker på Formulär, och klickar sedan på eller trycker på Entitetsformulär (experimentell).

    En entitetsformulärkontroll har lagts till på skärmen.

  4. Byt namn på entitetsformulärkontrollen till SalesOrderListForm, och ändra storlek på den så att den täcker hela skärmen.

  5. Klicka i rutan till höger eller tryck på databasikonerna bredvid texten Ingen datakälla har valts, och klicka sedan på eller tryck på Lägg till en datakälla.

  6. I listan över anslutningar, klicka eller tryck på anslutningen för databasen.

  7. I listan över enheter klicka eller tryck på Försäljningsorder, och klicka sedan på eller tryck på Anslut.

    En datakälla för entiteten Försäljningsorder har skapats och egenskapen DataSource för SalesOrderListForm har angetts till datakällan.

    Entitetsformulärkontrollen visar en lista över försäljningsorder. Med hjälp av entitetsformulärkontrollen kan du snabbt visa ett listformulär utan att behöva skapa det manuellt.

    Ställa in egenskapen Pattern för entitetsformulärkontrollen så att den som standard använder mönstret List. Dessutom används fältgruppen DefaultList för entiteten Försäljningsorder för att visa listformuläret. Formuläret är också dynamiskt och avspeglar ändringar i fältgruppen automatiskt.

  8. (Valfritt) visar fältgruppen DefaultList för entiteten Försäljningsorder:

    1. Logga in på powerapps.com klicka eller tryck på Common Data Service i det vänstra navigeringsfältet. Klicka eller tryck sedan på Entiteter.
    2. I listan över enheter, klicka eller tryck på Försäljningsorder, klicka på eller tryck på fliken Fältgrupper och klicka sedan eller tryck på fältgruppen DefaultList.

    Fälten i listan över försäljningsordern matchar de som anges här.

    I Common Data Service, kan du ändra fältgrupper för anpassade entiteter (men inte standardentiteter) för att ändra de fält som visas i motsvarande formulär som entitetsformulärkontrollen visar. Bästa av allt är att eventuella ändringar i fältgruppen återspeglas automatiskt i alla appar som använder en entitetsformulärkontroll för att visa motsvarande formulär.

Visa information om en post

Lägg till en annan entitetsformulärkontroll för att visa information om försäljningsordern som har valts i listan som du skapade tidigare.

  1. Ändra storlek på SalesOrderListForm för att täcka halva skärmen och lägg till en andra entitetsformulärkontroll för den andra halvan av skärmen.

  2. Byt namn på den andra entitetsformulärkontrollen till SalesOrderDetailsForm, och anslut den till datakällan Försäljningsorder som du skapade tidigare.

  3. Ange egenskapen Pattern för SalesOrderDetailsForm till FormPattern.Details.

    SalesOrderDetailsForm använder fältgruppen DefaultDetails i entiteten Försäljningsorder för att visa formuläret. Med SalesOrderListForm, kan du snabbt visa registrerad information utan att manuellt skapa ett formulär.

  4. Ange egenskapen Item för SalesOrderDetailsForm till SalesOrderListForm.Selected.

    SalesOrderDetailsForm visar information om den post som användaren klickar eller trycker på i SalesOrderListForm.

  5. Förhandsgranska appen genom att trycka på F5, och klicka på eller tryck på en försäljningsorder i listan till vänster.

    Information om den order som du har valt visas till höger.

Konfigurera ett fält för att navigera till en annan skärm

Härnäst lägger vi till flera skärmar i vår app och konfigurerar sedan fälten i en entitetsformulärkontroll för att navigera till en annan skärm i appen när användaren klickar eller trycker på ett fält.

  1. Lägg till en andra skärm till appen och byt namn på skärmen till SalesOrderDetailsScreen.

  2. Klipp ut SalesOrderDetailsForm, klistra in det på SalesOrderDetailsScreen, och ändra storlek på formuläret till att omfatta det mesta av skärmen, men lämna tillräckligt med utrymme för en ikon överst på skärmen.

  3. Lägg till en ikon med en bakåtpil nära det övre vänstra hörnet i SalesOrderDetailsScreen.

  4. Ange egenskapen OnSelect för ikonen med bakåtpilen till funktionen Back.

  5. SalesOrderListScreen, ändra storlek på SalesOrderListForm till att täcka hela skärmen.

  6. Klicka på eller tryck på SalesOrderListForm för att välja den.

  7. I den högra rutan under Fält, ange SalesOrderId för att navigera till SalesOrderDetailsScreen.

    Entitetsformulärkontrollen visar värdena i fältet SalesOrderId (den första kolumnen i listan) som länkar.

  8. Förhandsgranska appen genom att trycka på F5, och klicka på eller tryck på en länk i listan över försäljningsorder.

    Den andra skärmen öppnas och visar information om försäljningsordern som du har angett.

    För att visa information om en annan försäljningsorder, klicka eller tryck på bakåtpilen om du vill gå tillbaka till listan och klicka eller tryck på länken för den order som du vill visa information för.

Navigera med en kontextvariabel

Egenskapen Item för SalesOrderDetailsForm har angetts till SalesOrderListForm.Selected så att SalesOrderDetailsForm visar information om den post som användaren väljer i SalesOrderListForm. Du kan också få kontexten för den valda posten med hjälp av kontextvariabeln NavigationContext som skapas automatiskt när du använder fönstret Anpassa formulär för att konfigurera ett fält att navigera.

  1. Ange egenskapen Item för SalesOrderDetailsForm till NavigationContext.

  2. Förhandsgranska appen genom att trycka på F5, och klicka på eller tryck på en länk i listan över försäljningsorder.

    Appen öppnar SalesOrderDetailsScreen och visar information om den försäljningsorder som du har angett.

Låt oss analysera hur fönstret Anpassa formulär ställer in navigeringen och kontexten för oss.

Egenskapen SelectableFields för SalesOrderListForm anger SalesOrderId som ett valbart fält.

Detta ställdes in automatiskt när vi använde fönstret Anpassa formulär för att få fältet SalesOrderId att navigera till SalesOrderDetailsScreen. Därför visas värdena i fältet SalesOrderId som länkar.

Egenskapen OnFieldSelect för SalesOrderListForm är inställd på funktionen If , som avgör om användaren klickar eller trycker på fältet Försäljningsorder-ID: SalesOrderListForm.SelectedField.SalesOrderId = sant.

Om funktionen utvärderas till sant, öppnas SalesOrderDetailsScreen med kontextvariabeln NavigationContext som vi använde tidigare.

Allt detta ställdes också in automatiskt in när vi använde fönstret Anpassa formulär för att få fältet SalesOrderId att navigera till SalesOrderDetailsScreen.

När användaren klickar eller trycker på ett fält för försäljningsorder-ID, utvärderas därför funktionen If till sant, och funktionen Navigate anropas med motsvarande kontext, vilket öppnar informationsskärmen.

Observera: När du använder fönstret Anpassa formulär bestäms NavigationContext intelligent åt dig. När användaren klickar eller trycker på SalesOrderId, har NavigationContext angetts till SalesOrderListForm.Selected, som den tidigare formeln visar. Om vi hade angett fältet Konto för navigering istället, skulle NavigationContext ha ställts in till SalesOrderListForm.Selected.Account, vilket säkerställer att rätt sammanhang skickas. Men om du vill använda denna kontext behöver du en entitetsformulärkontroll som är kopplad till entiteten Konto i Common Data Service.

Redigera och spara en post

Slutligen ska vi titta på hur vi kan redigera och spara en post i en entitetsformulärkontroll.

  1. SalesOrderDetailsScreen, lägger du till en ikon för redigering och anger sedan dess egenskap OnSelect till den här formeln:
    EditForm(SalesOrderDetailsForm)

  2. Lägg till en bockikon bredvid redigeringsikonen och ange sedan egenskapen OnSelect för bockikonen på den här formeln:
    SubmitForm(SalesOrderDetailsForm)

  3. Förhandsgranska appen genom att trycka på F5, klicka eller tryck på en länk för Försäljningsorder-ID för att visa information om en försäljningsorder och klicka eller tryck sedan på redigeringsikonen.

    Mode för entitetsformulärkontrollen är inställt till FormMode.Edit så att du kan redigera posten.

  4. Uppdatera Orderstatus till Faktura.

  5. Uppdatera Säljare till WRK014.

    För att välja Säljare, gör entitetsformulärkontrollen automatiskt en omfattande detaljerad sökning. För att skapa och visa den här sökningen, använder kontrollen fältgruppen DefaultLookup i entiteten Underordnad i Common Data Service. Entiteten Underordnad används eftersom fältet Säljare är av typen Underordnad.

  6. Klicka eller tryck på bockikonen för att spara ändringarna.

Det här steget fullbordar den här artikeln om hur du använder entitetsformulärkontrollen i dina appar. Vi hoppas att du tycker att den information som beskrivs här är användbar för att komma igång med entitetsformulärkontrollen. Vi ser fram emot att höra vad du tycker om entitetsformulärkontrollen och vårt försök att hjälpa dig att snabbt lägga till avancerade formulär dina appar.