Ustvarjanje galerije podrobnosti v aplikaciji s platnom

Upoštevajte podrobna navodila za ustvarjanje galerije podrobnosti v aplikaciji s platnom, ki vam omogoča upravljanje izmišljenih podatkov v zbirki podatkov Northwind Traders. Ta tema je del serije, v katerem je pojasnjeno, kako lahko ustvarite poslovno aplikacijo z relacijskimi podatki v storitvi Microsoft Dataverse. Za najboljše rezultate preučite te teme v tem zaporedju:

  1. Ustvarite galerijo naročil.
  2. Ustvarite obrazec za povzetek.
  3. Ustvarite galerijo podrobnosti (ta tema).

Opredelitev območij zaslona.

Zahteve

Pred začetkom te teme morate namestiti zbirko podatkov, kot je opisano v prejšnjem delu te teme. Nato morate ustvariti galerijo naročil in obrazec za povzetek ali pa odpreti aplikacijo Northwind Orders (Canvas) - Begin Part 3, ki že vsebuje to galerijo in obrazec.

Ustvarjanje druge naslovne vrstice

  1. Na vrhu zaslona izberite kontrolnik Label, ki deluje kot naslovna vrstica, ga kopirajte s pritiskom na Ctrl-C in ga prilepite s pritiskom možnosti Ctrl-V:

    Kopirajte in prilepite naslovno vrstico.

  2. Spremenite velikost kopije in jo premaknite tako, da se pojavi tik pod obrazcem za povzetek.

  3. Besedilo odstranite iz kopije na kateri koli od teh načinov:

    • Dvokliknite besedilo, da ga izberete, nato pa pritisnite »Izbriši«.
    • Nastavite lastnost oznake Text na prazen niz ("").

    Odstranite besedilo iz kopije naslovne vrstice.

  1. Vstavite kontrolnika Gallery s postavitvijo Prazno navpično:

    Dodajanje galerije s prazno navpično postavitvijo.

    V zgornjem levem kotu se prikaže nova galerija, v kateri bodo vidne podrobnosti o naročilu.

  2. Zaprite pojavno pogovorno okno za vir podatkov, nato pa spremenite velikost galerije podrobnosti in jo premaknite v spodnji desni kot, pod novo naslovno vrstico:

    Končna lokacija galerije s podrobnostmi o naročilu.

  3. Nastavite lastnost galerije podrobnosti Items na to formulo:

    Gallery1.Selected.'Order Details'
    

    Nastavitev lastnosti »Items« v galeriji podrobnosti.

    Če se pojavi napaka, preverite, ali je ime galerije naročil Gallery1 (v podoknu Drevesni pogled poleg levega roba). Če ima ta galerija drugačno ime, jo preimenujte v Gallery1.

    Galeriji ste pravkar povezali. Ko uporabnik izbere naročilo v galeriji naročil, ta izbira identificira zapis v tabeli Naročila. Če to naročilo vsebuje enega ali več elementov vrstice, se zapis v tabeli Naročila poveže z enim ali več zapisi v tabeli Podrobnosti naročila, podatki iz teh zapisov pa so prikazani v galeriji podrobnosti. To vedenje odraža odnos »eden proti mnogo«, ki je bil ustvarjen za vas med tabelama Naročila in Podrobnosti naročila. Formula, ki ste jo določili, »označuje« ta odnos z zapisom s piko:

    Odnos »eden proti mnogo« med tabelo »Naročila« in tabelo »Podrobnosti naročila«.

Prikaz imen izdelkov

  1. V galeriji podrobnosti izberite Dodaj element z zavihka Vstavljanje, da izberete predlogo galerije:

    Izberite predlogo za galerijo podrobnosti.

    Prepričajte se, da ste izbrali predlogo galerije namesto same galerije. Mejni okvir mora biti nekoliko znotraj obsega galerije in verjetno krajši od višine galerije. Ko v to predlogo vstavite kontrolnike, se ti ponavljajo za vsak element v galeriji.

  2. Na zavihku Vstavljanje vstavite oznako v galerijo podrobnosti.

    Oznaka mora biti prikazana v galeriji; v nasprotnem primeru poskusite znova, vendar pred vstavljanjem oznake ne pozabite izbrati predloge galerije.

    Dodajanje oznake v galerijo podrobnosti.

  3. Lastnost nove oznake Text nastavite na to formulo:

    ThisItem.Product.'Product Name'
    

    Če se ne prikaže nobeno besedilo, izberite puščico za Naročilo 0901 blizu spodnjega dela galerije naročil.

  4. Velikost oznake spremenite tako, da je vidno celotno besedilo:

    Ime izdelka prikažite pri podrobnostih o naročilu.

    Ta izraz pride iz zapisa v tabeli Podrobnosti naročila. Zapis je shranjen v vrednosti ThisItem v tabeli Izdelki iz naročila prek razmerja »mnogo proti ena«:

    Odnos »mnogo proti ena« med tabelo »Podrobnosti naročila« in tabelo »Izdelek iz naročila«.

    Stolpec Ime izdelka (in drugi stolpci, ki jih nameravate uporabiti) je izvlečen:

    Stolpec v tabeli »Izdelki iz naročila«.

Prikaz slik izdelka

  1. Na zavihku Vstavljanje vstavite kontrolnik Image v galerijo podrobnosti:

    Vstavitev kontrolnika slike v delovnem območju.

  2. Spremenite velikost slike in oznake ter ju postavite drugo ob drugo.

    Nasvet

    Za podrobnejše upravljanje velikosti in položaja kontrolnika spremenite velikost kontrolnika ali ga premaknite, ne da bi pritisnili tipko Alt, nato pa nadaljujte s spreminjanjem velikosti ali premikanjem kontrolnika, medtem ko držite tipko Alt:

    Premikanje kontrolnika Image.

  3. Lastnost slike Image nastavite na to formulo:

    ThisItem.Product.Picture
    

    Izraz znova omenja izdelek, ki je povezan s to podrobnostjo o naročilu in ekstrahiranjem polja Slika za prikaz.

    Prikaz slike izdelka.

  4. Zmanjšajte višino predloge galerije, da se naenkrat prikaže več kot en zapis za podrobnosti o naročilu:

    Skrajšajte predlogo galerije.

Prikaz količine in cene izdelka

  1. Na zavihku Vstavljanje vstavite drugo oznako v galerijo podrobnosti, nato pa spremenite velikost nove oznake in jo postavite desno od podatkov o izdelku.

  2. Lastnost nove oznake Text nastavite na ta izraz:

    ThisItem.Quantity
    

    Ta formula pridobiva informacije neposredno iz tabele Podrobnosti naročila (odnos ni zahtevan).

    Prikaz količine izdelka.

  3. Na zavihku Osnovno spremenite poravnavo tega kontrolnika na Desno:

    Sprememba poravnave v desno.

  4. Na zavihku Vstavljanje vstavite drugo oznako v galerijo podrobnosti, nato pa spremenite velikost oznake in jo postavite desno od oznake količine.

  5. Lastnost nove oznake Text nastavite na to formulo:

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

    Če ne vključite jezikovne oznake ([$-en-US]), vam jo bomo dodali glede na vaš jezik in regijo. Če uporabite drugačno jezikovno oznako, odstranite znak $ tik za oglatim zaklepajem (]) in na ta položaj dodajte simbol svoje valute.

    Prikažite ceno enote.

  6. Na zavihku Osnovno spremenite poravnavo tega kontrolnika na Desno:

    Sprememba poravnave proti desni.

  7. Na zavihku Vstavljanje vstavite kontrolnik druge oznake v galerijo podrobnosti, nato pa spremenite velikost nove oznake in jo postavite desno od oznake cene.

  8. Lastnost nove oznake Text nastavite na to formulo:

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

    Zopet, če ne vključite jezikovne oznake ([$-en-US]), vam jo bomo dodali glede na vaš jezik in regijo. Če je oznaka drugačna, namesto znaka $ uporabite simbol svoje valute tik za oglatim zaklepajem (]).

    Prikažite skupno ceno.

  9. Na zavihku Osnovno spremenite poravnavo tega kontrolnika na Desno:

    Sprememba poravnave na desno.

    Za zdaj ste končali z dodajanjem kontrolnikov v galerijo podrobnosti.

  10. V podoknu Drevesni pogled izberite Screen1, da se prepričate, da je izbor galerije podrobnosti preklican.

Dodajanje besedila v novo naslovno vrstico

  1. Na zavihku Vstavljanje vstavite drugo oznako na zaslon:

    Posnetek zaslona oznake za vstavljanje.

  2. Spremenite velikost nove oznake in jo premaknite nad slike izdelkov v drugi naslovni vrstici, nato pa barvo besedila na zavihku Osnovno spremenite na belo.

  3. Dvokliknite besedilo oznake in nato vnesite Izdelek:

    Spremenite besedilo oznake na izdelek.

  4. Kopirajte in prilepite oznako izdelka, nato pa spremenite velikost kopije in jo premaknite nad stolpec za količino.

  5. Dvokliknite besedilo nove oznake in nato vnesite Količina:

    Spremenite besedilo oznake na količino.

  6. Kopirajte in prilepite oznako količine, nato pa spremenite velikost kopije in jo premaknite nad stolpec za ceno enote.

  7. Dvokliknite besedilo nove oznake in nato vnesite Cena enote:

    Spremenite besedilo oznake na ceno enote.

  8. Kopirajte in prilepite oznako cene enote, nato pa spremenite velikost kopije in jo premaknite nad stolpec za skupno ceno.

  9. Dvokliknite besedilo nove oznake in nato vnesite Skupno:

    Spremenite besedilo oznake na skupno.

Prikaz skupne vrednosti naročila

  1. Zmanjšajte višino galerije podrobnosti, da je na dnu zaslona na voljo prostor za skupno vrednost naročila:

    Skrajšajte galerijo s podrobnostmi o naročilu.

  2. Naslovno vrstico kopirajte in prilepite na sredino zaslona, nato pa premaknite kopijo na dno zaslona:

    Kopirajte naslovno vrstico in kopijo premaknite na spodnji rob.

  3. Kopirajte in prilepite oznako izdelka s srednje naslovne vrstice, nato pa kopijo premaknite v spodnjo naslovno vrstico, takoj levo od stolpca Količina.

  4. Dvokliknite besedilo nove oznake in nato vnesite to besedilo:
    Skupna vrednost naročila:

    Dodajte oznako za skupno vrednost naročila.

  5. Kopirajte in prilepite oznako za skupno vrednost naročila, nato pa spremenite velikost kopije in jo premaknite na desno stran oznake za skupno vrednost naročila.

  6. Lastnost nove oznake Text nastavite na to formulo:

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

    Ta formula prikazuje opozorilo o pooblastitvi, vendar ga lahko prezrete, ker nobeno naročilo ne bo vsebovalo več kot 500 izdelkov.

  7. Na zavihku Osnovno nastavite poravnavo besedila za novo oznako na Desno:

    Spremenite poravnavo.

  8. Kopirajte in prilepite kontrolnik za to oznako, nato pa spremenite velikost kopije in jo premaknite pod stolpec Skupno.

  9. Lastnost kopije Text nastavite na to formulo:

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

    Ta formula prikazuje opozorilo o pooblastitvi, vendar ga lahko prezrete, ker nobeno naročilo ne bo vsebovalo več kot 500 izdelkov.

    Prikažite skupno ceno naročila.

Dodajanje prostora za nove podrobnosti

V kateri koli galeriji lahko prikažete podatke, vendar jih ne morete posodobiti ali dodati zapisov. V galeriji podrobnosti boste dodali območje, kjer lahko uporabnik konfigurira zapis v tabeli Podrobnosti naročila in ta zapis vstavi v naročilo.

  1. Zmanjšajte višino galerije podrobnosti, da je pod galerijo na voljo prostor za urejanje posameznega elementa.

    V tem prostoru boste dodali kontrolnike, s katerimi bo lahko uporabnik dodal podrobnost o naročilu:

    Skrajšajte galerijo podrobnosti.

  2. Na zavihku Vstavljanje vstavite oznako, spremenite njeno velikost in jo premaknite pod galerijo podrobnosti.

    Vstavljanje oznake.

  3. Dvokliknite besedilo nove oznake in nato pritisnite »Izbriši«:

  4. Na zavihku Osnovno nastavite barvo polnila za novo oznako na LightBlue:

    Spremenite barvo polnila za oznako na svetlo modro.

Izbira izdelka

  1. Na zavihku Vstavljanje izberite Kontrolniki > Kombinirano polje:

    Vstavljanje kombiniranega polja.

    Kontrolnik Combo box se prikaže v zgornjem levem kotu.

  2. V pojavnem pogovornem oknu izberite vir podatkov Izdelki iz naročila.

  3. Na zavihku Lastnosti za kombinirano polje izberite Uredi (poleg možnosti Polja), da odprete podokno Podatki. Zagotovite, da sta možnosti Primarno besedilo in Iskalno polje nastavljeni na nwind_productname.

    Določite logično ime, ker podokno Podatki v tem primeru še ne podpira prikaznih imen:

    Nastavite primarno besedilo za kombinirano polje.

  4. Zaprite podokno Podatki.

  5. Na zavihku Lastnosti poleg desnega roba se pomaknite navzdol, izklopite možnost Dovoli več izbranih možnosti in se prepričajte, da je možnost Dovoli iskanje vklopljena:

    Onemogočite izbiro več možnosti in omogočite iskanje.

  6. Spremenite velikost kombiniranega polja in ga premaknite v svetlo modro območje, tik pod stolpec z imenom izdelka v galeriji podrobnosti:

    Premaknite kombinirano polje.

    V tem kombiniranem polju bo uporabnik določil zapis v tabeli Izdelek za zapis Podrobnosti naročila, ki ga bo ustvarila aplikacija.

  7. Medtem ko držite tipko Alt, izberite puščico dol pri kombiniranem polju.

    Nasvet

    Če pritisnete tipko Alt, vam je na voljo interakcija s kontrolniki v storitvi Power Apps Studio, ne da bi morali za to odpreti način predogleda.

  8. Na seznamu izdelkov, ki se prikaže, izberite izdelek:

    Izberite izdelek v kombiniranem polju.

Dodajanje slike izdelka

  1. Na zavihku Vstavljanje izberite Predstavnost > Slika:

    Vstavite kontrolnik Image.

    Kontrolnik Image se prikaže v zgornjem levem kotu:

    Privzeta lokacija kontrolnika Image.

  2. Spremenite velikost slike in jo premaknite v svetlo modro območje, in sicer pod druge slike izdelkov in poleg kombiniranega polja.

  3. Nastavite lastnost Image za sliko na:

    ComboBox1.Selected.Picture
    

    Sliki nastavite lastnost »Image«.

    Uporabljate isti trik, kot ste ga uporabili za prikazovanje slike zaposlenega v obrazcu za povzetek. Lastnost Selected pri kombiniranem polju vrne celoten zapis katerega koli izdelka, ki ga uporabnik izbere, vključno s poljem Slika.

Dodajanje polja za količino

  1. Na zavihku Vstavljanje izberite Besedilo > Text input:

    Dodajanje polja Text input.

    Kontrolnik Text input se prikaže v zgornjem levem kotu:

    Privzeta lokacija polja za vnos besedila.

  2. Spremenite velikost polja za vnos besedila in ga premaknite desno od kombiniranega polja, tik pod stolpec za količino v galeriji podrobnosti:

    Spremenite velikost polja za vnos besedila in ga premaknite.

    S tem poljem za vnos besedila bo uporabnik določil polje Količina za zapis Order Details.

  3. Lastnost Default za ta kontrolnik nastavite na "":

    Nastavite lastnost Default pri polju za vnos besedila.

  4. Na zavihku Osnovno nastavite poravnavo besedila za ta kontrolnik na Desno:

    Sprememba poravnave kontrolnika v desno.

Prikaz enote in skupnih cen

  1. Na zavihku Vstavljanje vstavite kontrolnik Label.

    Oznaka se prikaže v zgornjem levem kotu zaslona:

    Vstavljanje oznake.

  2. Spremenite velikost oznake in jo premaknite na desno stran kontrolnika za vnos besedila ter nastavite lastnost oznake Text na to formulo:

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

    Nastavitev lastnosti oznake »Text«.

    Ta kontrolnik prikazuje priporočeno ceno iz tabele Izdelki iz naročila. Ta vrednost bo določila polje Cena enote v zapisu Order Details.

    Opomba

    V tem primeru je vrednost samo za branje, v drugih primerih pa jo bo uporabnik aplikacije morda lahko spremenil. V tem primeru uporabite kontrolnik Text input in nastavite njegovo lastnost Default na možnost Priporočena cena.

  3. Na zavihku Osnovno nastavite poravnavo oznake za priporočeno ceno na Desno:

    Sprememba poravnave kontrolnika na desno stran.

  4. Kopirajte in prilepite oznako za priporočeno ceno, nato pa spremenite velikost kopije in jo premaknite na desno stran oznake za priporočeno ceno.

  5. Lastnost nove oznake Text nastavite na to formulo:

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

    Nastavitev lastnosti nove oznake »Text«.

    Ta kontrolnik prikaže skupno ceno glede na količino, ki jo je določil uporabnik aplikacije, in priporočeno ceno izdelka, ki ga je izbral uporabnik aplikacije. Za uporabnika aplikacije je to zgolj informativne narave.

  6. Dvokliknite kontrolnik za vnos besedila za količino in nato vnesite številko.

    Oznaka za skupno ceno preračuna in prikaže novo vrednost:

    Navedite količino in prikažite skupno ceno.

Dodajanje ikone za dodajanje

  1. Na zavihku Vstavljanje izberite Ikone > Dodaj:

    Vstavite ikono za dodajanje.

    Ikona se prikaže v zgornjem levem kotu zaslona.

    Privzeta lokacija ikone za dodajanje.

  2. Spremenite velikost ikone in jo premaknite na desni rob svetlo modrega območja, nato pa nastavite lastnost ikone OnSelect na to formulo:

    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 )
    

    Nastavitev ikone lastnosti »OnSelect«.

    Na splošno funkcija Patch posodablja in ustvarja zapise, posebni argumenti v tej formuli pa določajo natančne spremembe, ki jih funkcija ustvari.

    • Prvi argument določa vir podatkov (v tem primeru tabelo Podrobnosti naročila), v kateri bo funkcija posodobila ali ustvarila zapis.

    • Drugi argument določa, da bo funkcija ustvarila zapis s privzetimi vrednostmi za tabelo Podrobnosti naročila, razen če je v tretjem argumentu določeno drugače.

    • Tretji argument določa, da bodo štirje stolpci v novem zapisu vsebovali vrednosti uporabnika.

      • Stolpec Naročilo bo vseboval številko naročila, ki ga je uporabnik izbral v galeriji naročil.
      • Stolpec Izdelek bo vseboval ime izdelka, ki ga je uporabnik izbral v kombiniranem polju, ki prikazuje izdelke.
      • Stolpec Količina bo vseboval vrednost, ki jo je uporabnik določil v polju za vnos besedila.
      • Stolpec Cena enote bo vseboval priporočeno ceno izdelka, ki jo je uporabnik izbral za to podrobnost naročila.

    Opomba

    Sestavite lahko formule, ki uporabljajo podatke iz katerega koli stolpca (v tabeli Izdelki iz naročila) za kateri koli izdelek, ki ga uporabnik aplikacije izbere v kombiniranem polju, ki prikazuje izdelke. Ko uporabnik izbere zapis v tabeli Izdelki iz naročila, v kombiniranem polju ni prikazano samo ime izdelka, ampak se na oznaki prikaže tudi cena enote izdelka. Vsaka iskana vrednost v aplikaciji s platnom navaja celoten zapis, ne le primarnega ključa.

    Funkcija Osveži zagotavlja, da tabela Naročila odraža zapis, ki ste ga pravkar dodali v tabelo Podrobnosti naročila. Funkcija Reset počisti podatke o izdelku, količini in ceni enote, da lahko uporabnik lažje ustvari še eno podrobnost naročila za isto naročilo.

  3. Pritisnite F5, nato pa izberite ikono Dodaj.

    Naročilo odraža podatke, ki ste jih navedli:

    Animacija dodajanja podrobnosti o naročilu.

  4. (izbirno) V naročilo dodajte še en izdelek.

  5. Pritisnite tipko Esc, da zaprete način predogleda.

Odstranjevanje podrobnosti o naročilu

  1. Na sredini zaslona izberite predlogo galerije podrobnosti:

    Izbira predloge galerije.

  2. Na zavihku Vstavljanje izberite Ikone > Smeti:

    Vstavljanje ikone za smeti.

    Ikona za smeti se prikaže v zgornjem levem kotu predloge galerije.

    Privzeta lokacija ikone.

  3. Spremenite velikost ikone za smeti in jo premaknite na desno stran predloge galerije podrobnosti ter nastavite lastnost ikone OnSelect na to formulo:

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

    Nastavite lastnost ikone »OnSelect«.

    Od pisanja tega članka dalje zapisa ne morete odstraniti neposredno iz odnosa, zato funkcija Odstrani odstrani zapis neposredno iz povezane tabele. Element ThisItem določa zapis, ki ga je treba odstraniti iz istega zapisa v galeriji podrobnosti, kjer se prikaže ikona za smeti.

    Postopek spet uporablja predpomnjene podatke, zato funkcija Osveži obvesti tabelo Naročila, da je aplikacija spremenila eno od povezanih tabel.

  4. Pritisnite F5, da odprete način predogleda, nato pa izberite ikono za koš poleg vsakega zapisa Order Details, ki ga želite odstraniti iz naročila.

  5. Iz naročil poskusite dodati in odstraniti različne podrobnosti o naročilu:

    Animacija dodajanja in odstranjevanja podrobnosti o naročilu.

Zaključek

Če povzamemo, dodali ste še eno galerijo, ki prikazuje podrobnosti o naročilu ter kontrolnike za dodajanje in odstranjevanje podrobnosti o naročilu v aplikaciji. Uporabili ste te elemente:

  • Drugi kontrolnik galerije, povezan z galerijo naročil prek odnosa »ena proti mnogo«: Gallery2.Items = Gallery1.Selected.'Order Details'
  • Odnos »mnogo proti ena« med tabelo Podrobnosti naročila in tabelo Izdelki iz naročila: ThisItem.Product.'Product Name' in ThisItem.Product.Picture
  • Funkcija Choices, ki se uporablja za dostop do seznama izdelkov: Choices( 'Order Details'.Product' )
  • Lastnost Selected pri kombiniranem polju kot popoln povezani zapis »mnogo-proti-ena«: ComboBox1.Selected.Picture in ComboBox1.Selected.'List Price'
  • Funkcija Patch za ustvarjanje zapisa Order Details: Patch( 'Order Details', Defaults( 'Order Details' ), ... )
  • Funkcija Remove za brisanje zapisa Order Details: Remove( 'Order Details', ThisItem )

Ta niz tem je bila hitra predstavitev uporabe odnosov in izbir Dataverse v aplikaciji s platnom za izobraževalne namene. Preden omogočite proizvodnjo katere koli aplikacije, morate razmisliti o preverjanju veljavnosti polja, obravnavanju napak in številnih drugih dejavnikih.

Opomba

Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)

Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).