Dela via


Skapa ett informationsgalleri i en arbetsyteapp

Följ steg-för-steg-instruktioner om hur du skapar ett informationsgalleri i en arbetsyteapp för att hantera påhittade data i databasen Northwind Traders. Den här ämne ingår i en serie som beskriver hur du skapar ett affärsapp för relationsdata i Microsoft Dataverse. För bästa resultat bör du utforska de här avsnitten i följande ordning:

  1. Skapa ett ordergalleri.
  2. Skapa ett formulär för sammanfattning.
  3. Skapa ett informationsgalleri (det här ämnet).

Definition av skärmområden.

Förutsättningar

Innan du startar den här ämne måste du installera databasen på det sätt som beskrivs ovan i den här ämne. Du måste då antingen skapa order galleriet och sammanfattningsformuläret eller öppna appen Northwind order (arbetsyta) - börja del 3 som redan innehåller det galleriet och formuläret.

Skapa en ny namnlist

  1. Högst upp på skärmen markerar du den Etikett-kontroll som fungerar som namnlista, kopierar den genom att trycka på Ctrl-C och klistrar in den genom att trycka på Ctrl-V:

    Kopiera och klistra in titelraden.

  2. Du ändrar storlek på och flyttar kopian så att den visas direkt under sammanfattningsformuläret.

  3. Ta bort texten från kopian på något av följande sätt:

    • Markera texten genom att dubbelklicka på den och tryck sedan på Radera.
    • Ange etikettens egenskap Text till en tom sträng ("").

    Ta bort texten från titelraden.

  1. Infoga en Galleri-kontroll med en layout Tom vertikal:

    Lägg till ett tomt vertikalt galleri.

    Det nya galleriet, som visar orderdetaljer, visas i det övre vänstra hörnet.

  2. Stäng dialogrutan flyg ut datakälla och flytta sedan storlek på och flytta informationsgalleriet längst ned till höger under den nya namnlisten:

    Slutlig plats för beställningsdetaljgalleriet.

  3. Ange egenskapen Items för informationsgalleri till den här formeln:

    Gallery1.Selected.'Order Details'
    

    Ställ in Items-egenskapen i detaljgalleriet.

    Om ett fel visas kontrollerar du att ordergalleriet har namnet Gallery1 (i fönstret Trädvy nära vänsterkanten). Om galleriet har ett annat namn byter du namn på det Gallery1.

    Du har just länkat de två gallerierna. När användaren väljer en order i ordergalleriet identifieras en post i tabellen Order. Om ordern innehåller ett eller flera radobjekt länkas posten i tabellen Order till en eller flera poster i tabellen Orderinformation och data från dessa poster visas i detaljgalleriet. Detta återspeglar den en till många-relation som har skapats åt dig mellan tabellerna Order och Orderinformation. Formeln som du angav "vägleder" med relationen med hjälp av punktmarkering:

    En-till-många relation mellan tabellen Order och tabellen Orderinformation.

Visa produktnamnen

  1. I informationsgalleriet, välj Lägg till ett objekt från fliken Infoga för att välja gallerimall:

    Välj mallen för detaljgalleriet.

    Kontrollera att du har valt gallerimallen i stället för själva galleriet. Avgränsningsruta ska vara en aning innanför galleriets gräns och troligen vara kortare än galleriets höjd. När du infogar kontroller i den här mallen upprepas de för varje objekt i galleriet.

  2. Fliken Infoga sätt in en etikett i detaljgalleriet.

    Etiketten bör finnas i galleriet. Om det inte gör det kan du försöka igen, men se till att du markerar galleriets mall innan du infogar etiketten.

    Lägg till en etikett i detaljgalleriet.

  3. Ange den nya etikettens egenskap Text till denna formel:

    ThisItem.Product.'Product Name'
    

    Om ingen text visas väljer du pilen för Order 0901 längst ned i ordergalleriet.

  4. Ändra etikettens storlek så att hela texten visas:

    Visa produktnamn i beställningsdetaljer.

    Det här uttrycket kommer från en post i tabellen Orderinformation. Posten finns i ThisItem över till tabellen Orderprodukter i order genom en flera-till-en-relation:

    Mång-till-ett-förhållande mellan tabellen Orderdetaljer och tabellen Orderprodukt.

    Kolumnen Produktnamn (och andra kolumner som du tänker använda) extraheras:

    Kolumn i tabellen Beställ produkter.

Visa produktbilderna

  1. Fliken Infoga sätt in en Bild-kontroll i detaljgalleriet:

    Infoga bildkontroll på arbetsyta.

  2. Ändra storlek och flytta bilden och att etiketten ska vara sida vid sida.

    Tips

    För detaljerad kontroll över storlek och placering för en kontroll kan du börja ändra storlek på eller flytta den utan att trycka på Alt-tangenten och sedan fortsätta att ändra storlek eller flytta kontrollen medan du håller ned Alt-tangenten:

    Flytta bildkontroll.

  3. Ange bildens egenskap Image till denna formel:

    ThisItem.Product.Picture
    

    Nu refererar uttrycket till en produkt som är associerad med order detaljen och extraherar det fältet Bild som ska visas.

    Visa produktbild.

  4. Minska höjden på galleriets mall så att fler än en post för orderdetalj visas åt gången:

    Förkorta galleriets mall.

Visa produktkvantitet och kostnad

  1. På fliken Infoga kan du infoga en ny etikett i informationsgalleriet och sedan ändra storlek och flytta den nya etiketten till höger om produktinformationen.

  2. Ange den nya etikettens egenskap Text till detta uttryck:

    ThisItem.Quantity
    

    Den här formeln hämtar information direkt från tabellen Orderinformation (ingen relation krävs).

    Visa produktkvantitet.

  3. På fliken Start, ändra justeringen för kontrollen till Höger:

    Ändra inriktningen till höger.

  4. På fliken Infoga kan du infoga en ny etikett i informationsgalleriet och sedan ändra storlek och flytta etiketten till höger om kvantitetsetikett.

  5. Ange den nya etikettens egenskap Text till denna formel:

    Text( ThisItem.'Unit Price', "[$-en-US]$ #,###.00" )
    

    Om du inte inkluderar språktaggen ([$-en-US]), läggs den till utifrån ditt språk och din region. Om du använder en annan språkkod vill du ta bort den $ efter den avslutande hakparentes (]) och sedan lägga till en egen valutasymbol på den platsen.

    Visa enhetspris.

  6. På fliken Start, ändra justeringen för kontrollen till Höger:

    Ändra inriktningen mot höger.

  7. På fliken Infoga kan du infoga en ny Etikett-kontroll i informationsgalleriet och sedan ändra storlek och flytta den nya etiketten till höger om enhetspriset.

  8. Ange den nya etikettens egenskap Text till denna formel:

    Text( ThisItem.Quantity * ThisItem.'Unit Price', "[$-en-US]$ #,###.00" )
    

    Om du inte inkluderar språktaggen ([$-en-US]), läggs den till utifrån ditt språk och din region. Om taggen är annorlunda vill du använda en egen valutasymbol i stället för $ strax efter den avslutande hakparentesen (]).

    Visa utökat pris.

  9. På fliken Start, ändra justeringen för kontrollen till Höger:

    Ändra inriktningen till höger.

    Du är klar med att lägga till kontroller i informationsgalleriet nu.

  10. I fönstret Trädvyn, välj Screen1 för att säkerställa att detaljgalleri väljs inte längre.

Lägga till text i den nya namnlisten

  1. Fliken Infoga, sätt in en annan etikett på skärmen:

    Skärmdump av infoga etikett.

  2. Ändra storlek på och flytta den nya etiketten ovanför bilderna i den andra namnlisten och ändra sedan textens färg till vit på fliken Start.

  3. Dubbelklicka på etikettens text och skriv sedan produkt:

    Ändra etiketttext till Produkt.

  4. Kopiera och klistra in produktetiketten och ändra sedan storlek på och flytta kopian ovanför kolumnen kvantitet.

  5. Dubbelklicka på nya etikettens text och skriv sedan kvantitet:

    Ändra etiketttext till Kvantitet.

  6. Kopiera och klistra in kvantitetetiketten och ändra sedan storlek på och flytta kopian ovanför kolumnen enhetspris.

  7. Dubbelklicka på nya etikettens text och skriv sedan Enhetspris:

    Ändra etiketttext till enhetspris.

  8. Kopiera och klistra in enhetspriset etiketten och ändra sedan storlek på och flytta kopian ovanför kolumnen förlängd pris.

  9. Dubbelklicka på texten på den nya etiketten och skriv sedan Utökad:

    Ändra etiketttext till Utökad.

Visa orderantal

  1. Minska höjden på informationsgalleriet för att skapa plats för ordersummorna längst ned på skärmen:

    Förkorta orderdetaljgalleriet.

  2. Kopiera och klistra in namnlisten i mitten av skärmen och flytta sedan kopian längst ned på skärmen:

    Kopiera titelraden och flytta kopian till den nedre kanten.

  3. Kopiera och klistra in produktetiketten från det mellersta namnlisten och flytta sedan kopian till den nedre namn listen, precis till vänster om kolumnen kvantitet.

  4. Dubbelklicka på nya etikettens text och skriv den här text:
    Ordersummor:

    Lägg till etikett för ordertotal.

  5. Kopiera och klistra in etiketten för ordersummor och ändra sedan storlek på och flytta kopian till höger om etiketten för ordersummor.

  6. Ange den nya etikettens egenskap Text till denna formel:

    Sum( Gallery1.Selected.'Order Details', Quantity )
    

    I den här formeln visas en delegeringsvarning, men du kan ignorera den eftersom ingen enskild order innehåller fler än 500 produkter.

  7. På fliken Start anger du den nya etikettens textjustering till Höger:

    Ändra inriktning.

  8. Kopiera och klistra in denna Etikett-kontroll, och ändra sedan storlek och flytta kopian under kolumnen Utökade.

  9. Ange kopians egenskap Text till denna formel:

    Text( Sum( Gallery1.Selected.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
    

    I den här formeln visas en delegeringsvarning, men du kan ignorera den eftersom ingen enskild order innehåller fler än 500 produkter.

    Visa total kostnad för beställning.

Lägg till utrymme för nya detaljer

Du kan visa data i ett galleri, men du kan inte uppdatera eller lägga till poster. Under detaljgalleriet lägger du till ett område där användaren kan konfigurera en post i tabellen Orderinformation och infoga den posten i en order.

  1. Minska höjden på informationsgalleriet så att det blir utrymme för en redigeringsyta med bara en post under det galleriet.

    I det här området lägger du till kontroller så att användaren kan lägga till en orderdetaljen:

    Förkorta detaljgalleriet.

  2. Fliken Infoga, sätt in en etikett och ändra sedan storlek och flytta den under detaljgalleriet.

    Sätt i etiketten.

  3. Dubbelklicka på texten på den nya etiketten och tryck på radera.

  4. På fliken Start nger du den nya etikettens fyllningsfärg till LightBlue:

    Ändra etikettens fyllning till ljusblå.

Välj en produkt

  1. På fliken Infoga välj Kontroller > Kombinationsruta:

    Infoga kombinationsrutan.

    Kontrollen Kombinationsruta visas i det övre vänstra hörnet.

  2. I utfällbara dialogrutan markerar du produkter orderprodukter datakälla.

  3. Fliken Egenskaper för kombinations rutan väljer Redigera (bredvid Fält) för att öppna Data. Kontrollera att den primär text och SearchField är inställt på nwind_productname.

    Du anger det logiska namnet eftersom rutan Data inte stöder visningsnamn i det här fallet än:

    Ställ in primärtexten för kombinationsrutan.

  4. Stäng rutan Data.

  5. På fliken Egenskaper nära högerkant, bläddra nedåt, stäng av Tillåt flera urval och se till att Tillåt sökning aktiveras:

    Inaktivera flera val och aktivera sökning.

  6. Ändra storlek på och flytta kombinationsrutan till området med den blåa delen, strax under kolumnen produktnamn i informationsgalleriet:

    Flytta kombinationsrutan.

    I den här kombinationsrutan anger användaren en post i tabellen Produkt för den Orderinformation post som appen ska skapa.

  7. Håll ned Alt-tangenten och klicka på kombinationsrutans nedpil.

    Tips

    Genom att hålla ned Alt-tangenten kan du interagera med kontroller Power Apps Studio utan att öppna förhandsgranskningsläget.

  8. Välj en produkt i listan över produkter som visas:

    Välj en produkt i kombinationsrutan.

Lägg till en produktbild

  1. På fliken Infoga välj Media > Bild:

    Infoga bildkontroll.

    Kontrollen Bild visas i det övre vänstra hörnet:

    Standardplats för bildkontroll.

  2. Ändra storlek och flytta bilden till det ljus blåa området under de andra produktbilderna och bredvid kombinationsrutan.

  3. Ange egenskapen Image för bilden till:

    ComboBox1.Selected.Picture
    

    Ställ in bildegenskapen för bilden.

    Du använder samma tips som när du använde för att visa den anställdes bild i sammanfattningsformuläret. Egenskapen valda för kombinationsrutan returnerar hela posten för den produkt som användaren väljer, inklusive fältet Bild.

Lägg till en kvantitetsruta

  1. På fliken Infoga välj Text > Textingång:

    Lägg till Text Inputruta.

    Kontrollen Textinmatning visas i det övre vänstra hörnet:

    Standardplats för textinmatningsraden.

  2. Ändra storlek och flytta textinmatningsraden till höger om kombinationsrutan, under kvantitetskolumnen i detaljgalleriet:

    Ändra storlek och flytta textinmatningsraden.

    Med hjälp av den här textrutan anger användaren fältet kvantitet på posten orderdetalj.

  3. Ange egenskapen Standard för den här kontrollen till "":

    Ställ in Standard-egenskapen för textinmatningsraden.

  4. På fliken Start, ange textjusteringen för kontrollen till Höger:

    Ändra kontrollens inriktning till höger.

Visa enheten och de utökade priserna

  1. På fliken Infoga infogar du kontrollen Etikett.

    Etiketten visas i det övre vänstra hörnet av skärmen:

    Sätt i en etikett.

  2. Ändra storlek på och flytta etiketten till höger om Textinmatning-kontrollen och ställ in etikettens egenskap Text till följande formel:

    Text( ComboBox1.Selected.'List Price', "[$-en-US]$ #,###.00" )
    

    Ställ in etikettens textegenskap.

    Den här kontrollen visar listpriset från tabellen Orderprodukter. Det här värdet avgör fältet enhetspris i posten orderdetaljer.

    Anteckning

    I det här scenariot är värdet skrivskyddat, men det kan också hända att andra situationer kräver att användaren ändrar appen. I det fallet använder du en Textinmatning-kontroll och anger dess egenskap Default till Listpris.

  3. På fliken Start, ange textjusteringen för listprisetiketten till Höger:

    Ändra kontrollens justering till höger sida.

  4. Kopiera och klistra in listprisetiketten för ordersummor och ändra sedan storlek på och flytta kopian till höger om listprisetiketten.

  5. Ange den nya etikettens egenskap Text till denna formel:

    Text( Value(TextInput1.Text) * ComboBox1.Selected.'List Price', "[$-en-US]$ #,###.00" )
    

    Ställ in den nya etikettens textegenskap.

    Den här kontrollen visar det utökade priset utifrån det antal som appanvändaren angav och listpriset för produkten som appanvändaren valde. Det är ren information för appanvändaren.

  6. Dubbelklicka på Textinmatning-kontrollen för kvantitet och skriv sedan ett tal.

    Den utökade prisetiketten beräknas om så att det nya värdet visas:

    Ange en kvantitet och visa det utökade priset.

Lägg till en Lägg till-ikon

  1. På fliken Infoga välj Ikoner > Lägg till:

    Infoga ikonen Lägg till.

    Ikonen visas i det övre vänstra hörnet av skärmen.

    Standardplats för ikonen Lägg till.

  2. Ändra storlek och flytta ikonen till den högra kanten av det ljusblåa området och ställ sedan in ikonens OnSelect egenskap till följande formel:

    Patch( 'Order Details',
        Defaults('Order Details'),
        {
            Order: Gallery1.Selected,
            Product: ComboBox1.Selected,
            Quantity: Value(TextInput1.Text),
            'Unit Price': ComboBox1.Selected.'List Price'
        }
    );
    Refresh( Orders );
    Reset( ComboBox1 );
    Reset( TextInput1 )
    

    Ställ in ikonen OnSelect.

    I allmänhet uppdaterar och skapar funktionen Patch poster och de specifika argumenten i den här formeln avgör de exakta förändringar som funktionen ska göra.

    • Det första argumentet anger datakälla (i det här fallet tabellen Orderinformation) där funktionen uppdaterar eller skapar en post.

    • Det andra argumentet anger att funktionen skapar en post med standardvärdena för tabellen Orderinformation om inget annat anges i det tredje argumentet.

    • Det tredje argumentet anger att fyra kolumner i den nya posten ska innehålla värden från användaren.

      • Kolumnen Order innehåller numret på den order som användaren valde i ordningsgalleriet.
      • Kolumnen Produkt innehåller namnet på produkten som användaren valde i kombinationsrutan som visar produkter.
      • Kolumnen Kvantitet innehåller värdet som användaren har angett i textrutan.
      • Kolumnen Enhets pris innehåller listpriset för produkten som användaren har valt för orderdetaljer.

    Anteckning

    Du kan skapa formeln som använder data från valfri kolumn (i tabellen Orderprodukter) för den produkt appens användare väljer i kombinationsrutan som visar produkterna. När användaren väljer en post i tabellen Orderprodukter visas inte bara produktens namn i kombinationsrutan utan också produktens enhetspris på en etikett. Varje uppslagsvärde i en arbetsyteapp refererar till en hel post, inte bara en primär nyckel.

    Med funktionen Uppdatera ser du till att tabellen Order återspeglar den post som du just har lagt till i tabellen Orderinformation. Funktionen Reset rensar produkt-, kvantitets- och enhetsprisdata så att användaren lättare kan skapa en annan orderdetalj för samma beställning.

  3. Tryck på F5 och välj sedan ikonen Lägg till.

    Den angivna informationen avspeglar du i ordern:

    Animering av att lägga till en orderdetalj.

  4. (valfri) Lägg till ett annat objekt i ordern.

  5. Tryck Esc för att stänga förhandgranskningsläget.

Ta bort en orderdetalj

  1. Välj mall för informationsgalleriet i mitten på skärmen:

    Välj gallerimall.

  2. På fliken Infoga välj Ikoner > Papperskorg:

    Infoga papperskorgen.

    Ikonen papperskorg visas i det övre vänstra hörnet av galleriets mall.

    Standardplats för ikonen.

  3. Ändra storlek och flytta papperskorgikonen till den högra sidan på galleriets mall och ställ sedan in ikonens OnSelect egenskap till följande formel:

    Remove( 'Order Details', ThisItem ); Refresh( Orders )
    

    Ställ in ikonens OnSelect-egenskap.

    När du skriver detta går det inte att ta bort en post direkt från en relation, så med funktioner Ta bort post bort direkt från den relaterade post bort direkt från den relaterad. ThisItem anger vilken post som ska tas bort och tas från samma post i informationsgalleriet där papperskorgikonen visas.

    Återigen används cachelagrade data för åtgärden, så funktionen Uppdatera informerar tabellen Order om att appen har ändrat en av de relaterade tabellerna.

  4. Tryck på F5 för att öppna förhandsgranskningsläget och välj sedan papperskorgikonen bredvid varje post för Orderdetaljer som du vill ta bort från ordern.

  5. Försök med att lägga till och ta bort olika orderdetaljer från order:

    Animering av att lägga till och ta bort orderinformation.

Sammanfattningsvis

För att sammanfatta, du lade till ett annat galleri för att visa orderdetaljer och kontroller genom att lägga till och ta bort orderdetaljer i appen. Du har använt följande element:

  • En andra gallerikontroll som är länkad till ett ordergalleri med en till många-relation: Gallery2.Items = Gallery1.Selected.'Order Details'
  • Många-till-en-relation mellan tabellen Orderdetaljer och Orderprodukt tabellen: ThisItem.Product.'Product Name' och ThisItem.Product.Picture
  • Funktionen Choices för att visa en lista med produkter: Choices( 'Order Details'.Product' )
  • Egenskapen Selected för en kombinationsruta är den fullständiga många till en relaterad post: ComboBox1.Selected.Picture och ComboBox1.Selected.'List Price'
  • Funktionen Patch för att skapa en post Orderdetaljer: Patch( 'Order Details', Defaults( 'Order Details' ), ... )
  • Funktionen Remove för att ta bort en post Orderdetaljer: Remove( 'Order Details', ThisItem )

Den här serien med ämnen har varit en snabb översikt över Dataverse relationer och alternativ i en arbetsyteapp för utbildning. Innan du släpper ut en app på produktionen bör du överväga fältvalidering, felhantering och många andra faktorer.

Anteckning

Kan du berätta om dina inställningar för dokumentationsspråk? Svara i en kort undersökning. (observera att undersökningen är på engelska)

Undersökningen tar ungefär sju minuter. Inga personuppgifter samlas in (sekretesspolicy).