Skapa ett ordergalleri i en arbetsyteapp
Följ steg-för-steg-instruktioner om hur du skapar ett ordergalleri 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:
- Skapa ett ordergalleri (det här ämnet).
- Skapa ett formulär för sammanfattning.
- Skapa ett informationsgalleri.
Förutsättningar
- Installera databas och appar för Northwind Traders.
- Läs igenom översikt över arbetsyteapp för Northwind Traders.
Skapa en tom app
Skapa en tom arbetsyteapp ge den ett namn, t.ex. "Mina Northwind order (arbetsyteappen)".
Lägg till data
I den vänstra rutan, välj Data > Lägg data > sök efter och välj tabellen Order.
Tabellen Order innehåller många fält av olika typer:
Varje fält har ett visningsnamn och ett namn som ibland kallas det logiska namnet. Båda namnen refererar till samma sak. I allmänhet ska du använda visningsnamn när du bygger en app, men vissa fall kräver det mer krypterade namn, enligt vad som anges i en procedur.
När vi arbetar med skärmar och kontroller härnäst växlar Power Apps Studio tillbaka till trädvyn på vänster sida genom att trycka på den tre staplade fyrkantsikonen. Du kan när som helst återgå till datakällorna genom att trycka på cylinderikonen.
Skapa ordergalleriet
På Infoga väljer du Galleri > Tom lodrätt om du vill lägga till en Galleri-kontroll vilket visar order.
Kontrollen placeras på arbetsytan och utfällbara dialogrutan förs ut visas och du uppmanas att ange vilka datakälla ska ansluta till.
Vi kunde ansluta den direkt till order här, utan i stället vill vi kontrollera sorteringsordningen för galleriet. Ignorera den utfällbara dialogrutan i formelfältet som anges till galleriets egenskap Items till följande formel:
Sort( Orders, 'Order Number', Descending )
Funktionen Sort ordnar listan så att den senaste ordern (som har det högsta ordernumret) visas först.
Efter en stund visas resultatvyn under formelfältet. Dra ned på pilen till vänster om du vill se resultatet av formeln. Bläddra till höger för att visa kolumnen ordernummer och se till att den sorteras på det sätt du vill (högsta till lägsta).
På fliken Egenskaper i närheten av den högra kanten, öppna listan Layout:
Markera Rubrik och underrubrik i listan över alternativ:
Två Etikettkontroller läggs till i galleriets mall. Som standard visas två kolumner i tabellen Order för de här kontrollerna, som du kommer att ändra härnäst. Galleriets mall replikeras stående för varje post i tabellen.
På fliken Redigera (bredvid till fält) i fliken Egenskaper i närheten av den högra kanten.
I Data, välj Title1 (eller markera den övre etiketten i galleriets mall).
I formelfältet, ange etikettens egenskap för Text till den här uttryck:
"Order " & ThisItem.'Order Number'
Ordernumret visas högst upp i varje galleriartikel. I gallerimallen, ThisItem åtkomst till alla fält i tabellen Order.
I Data, välj Subtitle1 (eller markera den nedre etiketten i galleriets mall):
I formelfältet, ange etikettens egenskap för Text till den här uttryck:
ThisItem.Customer.Company
När du har angett formeln kan ett rött vågigt fel visas för ett givet tillfälle. Felet bör avmarkeras om du markerar något utanför formelfältet och sedan återställer markören till formelfältet. Om felet kvarstår eller om ett värde inte visas markerar du fliken Visa väljer du Datakällor och uppdaterar sedan tabellen Order genom att välja ellipsknappen (...) till höger om datakällnamnet.
När du anger ThisItem.Customer, använder du en flera-till-en-relation mellan tabellerna Order och Kunder och hämtar kundposten som är associerad med varje order. Från kundposten extraherar du data i kolumnen företag för visning.
Du kan visa alla relationer från tabellen Order till andra tabeller, inklusive tabellen Kund:
Stäng fönstret Data genom att välja ikonen (x) längst upp till höger.
Visa orderstatus
I den här proceduren lägger du till blanksteg i galleriet för en etikett och konfigurerar det så att orderns status visas i en annan färg utifrån data.
I galleriets mall minskar du bredden för den första etiketten, Title1:
Upprepa föregående steg med den andra etiketten, Subtitle1:
Med gallerimallen (eller en kontroll i mallen) markerad väljer du Etikett på fliken Infoga:
Flytta den nya etiketten längst ned till höger på etiketten Title1.
Ange den nya etikettens egenskap Text till detta uttryck:
ThisItem.'Order Status'
I tabellen Order håller fältet Orderstatus ett värde från alternativet Orderstatus. Ett alternativ liknar en uppräkning i andra programmeringsverktyg. Varje uppsättning alternativ definieras i databasen så att användarna endast kan ange de alternativ som finns i uppsättningen. Alternativet Orderstatus är även globalt, inte lokalt, så du kan använda det i andra tabeller:
Varje alternativ i en uppsättning har ett namn som visas om du visar det i en etikett. Dessa namn kan lokaliseras och appen känner igen samma alternativ om en svensk användare väljer Apple, en fransk användare väljer Pomme eller en spansk användare väljer Manzana. Därför kan du inte skapa en formel som förlitar sig på en hårdkodad sträng för ett alternativ, eftersom detta ämne demonstrerar senare.
I formler måste du omge orderstatus med enkla citat tecken eftersom det innehåller ett blanksteg. Namnet fungerar emellertid på samma sätt som andra namn i Power Apps, t.ex. Kund eller Företag gör.
På fliken Start, öka teckenstorleken på statusetiketten till 20 poäng och justera texten med höger:
I formelfältet anger du egenskapen Color för statusetiketten till följande formel:
Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, 'Orders Status'.New, Black, 'Orders Status'.Invoiced, Blue, 'Orders Status'.Shipped, Purple )
Power Apps hindrar dig från att skapa en formel som bygger på en hårdkodad sträng för varje alternativ i en uppsättning eftersom formlerna kan ge olämpliga resultat om alternativ namnen är lokaliserade. Funktionen Switch avgör istället vilken färg som bestämmer färgen baserat på vilken sträng som visas i etiketten baserat på användarens inställningar.
Med den här formeln i stället visas olika statusvärden i olika färger, eftersom föregående bild illustrerar.
Visa varje orderns totala summa
Markera det första objektet i galleriet, vilket är galleriets mall:
På fliken Infoga väljer du etikett för att lägga till en annan etikett:
Flytta den nya etiketten så att den visas under statusetiketten:
I formelfältet, ange den nya etikettens egenskap för Text till denna formel:
Text( Sum( ThisItem.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
I den här formeln lägger funktionen Summa till de poster i tabellen Orderinformation som är associerade med varje post i order tabellen genom en 1 till flera-relation. Dessa rad objekt utgör varje order och använder samma en till många-relation för att visa och redigera radposterna längst ned till höger på skärmen.
I den här formeln visas en blå understrykning och en Delegeringsvarning eftersom Dataverse inte stöder en delegering av komplexa mängd funktioner (t.ex. summan av en multiplikation). Du kan ignorera den här informationen eftersom ingen ordning i det här exemplet innehåller fler än 500 radobjekt. Om det behövs för en annan app kan du öka den gränsen i appinställningar.
Funktionen Text i den här formeln lägger till en valuta symbol och formaterar resultatet med tusental och decimalavgränsare. Som skrivet innehåller formeln språkkoden för amerikansk engelska ([$-en-US]) och en dollarsymbol ($). Om du tar bort språktaggen kommer den att ersättas med en baserad på dina språkinställningar och etiketten visar de format som är lämpliga för taggen. Om du lämnar dollarsymbolen visas motsvarande valutasymbol utifrån användarens inställningar. Du kan dock välja att visa en annan symbol genom att ersätta den med en valutasymbol.
På fliken Start, ändra teckenstorleken på den nyaste etiketten till 20 poäng och justera texten med höger:
Flytta galleriet till den vänstra kanten av skärmen och minska dess bredd så att blanksteget stängs.
Öka galleriets höjd så att den blir nästan lika hög som skärmen, men lämna lite utrymme överst för en namnlist, som du lägger till i början av nästa ämne:
Sammanfattning
För att sammanfatta är du igång för att skapa en app för en arbetsyteapp med en skärm genom att lägga till ordergalleriet, som omfattar följande element:
- Ett uttryck som visar ordernumret:
"Orders " & ThisItem.OrderNumber
- Ett fält i en många till en-relation:
ThisItem.Customer.Company
- En etikett som visar namnet på ett alternativ i en uppsättning:
ThisItem.'Order Status'
- En etikett som ändrar format baserat på vilka alternativ i en uppsättning etiketten visar:
Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, ...
- En sammansatt mängd funktion framför en till många-relation:
Sum( ThisItem.'Order Details', Quantity * 'Unit Price' )
Nästa avsnitt
I nästa avsnitt lägger du till en Redigera formulär-kontroll för att visa och redigera en sammanfattning av vilken ordning användaren väljer i det galleri som du just har skapat.
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).