Lõuendirakenduses üksikasjade galerii loomine
Järgige üksikasjalikke juhiseid, et luua lõuendirakenduses üksikasjade galerii Northwind Tradersi andmebaasi väljamõeldud andmete haldamiseks. See teema on osa sarjast, mis selgitab, kuidas luua Microsoft Dataverse’is seostavate andmete põhjal ärirakendus. Parima tulemuse saamiseks tutvuge nende teemadega järgmises järjestuses.
- Tellimuse galerii loomine.
- Kokkuvõttevormi loomine.
- Looge üksikasjade galerii (see teema).
Eeltingimused
Enne selle teemaga alustamiseks peate installima andmebaasi, nagu selles teemas on varasemalt kirjeldatud. Seejärel peate kas looma tellimuse galerii ja kokkuvõtte vormi või avama rakenduse Northwindi tellimused (lõuend) – algus, osa 3, mis juba sisaldab seda galeriid ja seda vormi.
Uue tiitliriba loomine
Valige ekraani ülaosas juhtelement Silt, mis toimib tiitliribana, kopeerige see vajutades klahvikombinatsiooni Ctrl + C ja kleepige seejärel vajutades klahvikombinatsiooni Ctrl + V:
Muutke koopia suurust ja liigutage seda nii, et see kuvatakse kohe kokkuvõttevormi all.
Eemaldage tekst koopiast ühel järgmistest viisidest.
- Topeltklõpsake valimiseks teksti ja vajutage seejärel kustutusklahvi.
- Seadke sildi atribuudi Tekst väärtuseks tühi string ("").
Galerii lisamine
Sisestage juhtelement Galerii paigutusega Tühi vertikaalne:
Ülemises vasakus nurgas kuvatakse uus galerii, mis näitab tellimuse üksikasju.
Sulgege andmeallika hüpikdialoog ja muutke seejärel üksikasjade galerii suurust ja liigutage see alumisse paremasse nurka uue tiitliriba alla:
Määrake üksikasjade galerii atribuut Üksused järgmisele valemile:
Gallery1.Selected.'Order Details'
Kui kuvatakse tõrge, kontrollige, kas tellimuse galerii nimi on Galerii1 (vasaku serva lähedal paanil Puu vaade). Kui sellel galeriil on erinev nimi, pange sellele nimeks Galerii1.
Te just linkisite kaks galeriid. Kui kasutaja valib tellimuse galeriis tellimuse, tuvastab see valik kirje tabelis Tellimused. Kui see tellimus sisaldab vähemalt ühte reaüksust, lingitakse tabeli Tellimused kirje ühe või mitme kirjega tabelis Tellimuse üksikasjad ja nende kirjete andmed kuvatakse üksikasjade galeriis. See käitumine peegeldab üks-mitmele-seost, mis on loodud teie jaoks tellimuste ja tellimuste üksikasjade tabelis. Teie määratud valem läbib selle vastenduse, kasutades punktide märgistust:
Tootenimede kuvamine
Galerii malli valimiseks valige üksikasjade galeriis suvand Lisa üksus vahekaardilt Sisesta:
Veenduge, et valiksite galerii enda asemel galerii malli. Piirderaam peaks olema veidi galerii piirist seespool ja tõenäoliselt galerii kõrgusest lühem. Kui lisate juhtelemendid sellesse malli, korratakse neid galerii iga üksuse jaoks.
Sisestage vahekaardil Lisa üksikasjade galeriisse silt.
Silt peaks ilmuma galeriis. Kui ei, proovige uuesti, kuid enne sildi lisamist veenduge, et valiksite galerii malli.
Määrake uue sildi atribuut Tekst järgmisele valemile:
ThisItem.Product.'Product Name'
Kui teksti ei kuvata, valige tellimuse galerii allosa lähedal suvandi Tellimus 0901 nool.
Muutke sildi suurust, et kuvataks täistekst:
See avaldis saadetakse kirjest, mis asub tabelis Tellimuse üksikasjad. Kirje hoitakse selles kirjes tabeli SeeÜksus Tellimuse tooted mitmele-ühele-seose kaudu:
Veerg Toote nimi (ja muud veerud, mida te juba kasutate), ekstraktitakse:
Toote piltide kuvamine
Sisestage vahekaardil Lisa üksikasjade galeriisse juhtelement Pilt:
Muutke pildi ja suurust ja liigutage need üksteise kõrvale.
Näpunäide
Üksikasjalikumaks kontrolliks juhtelemendi suuruse ja asukoha osas hakake selle suurust muutma või seda liigutama ilma muuteklahvi (Alt) vajutamata ja seejärel jätkake juhtelemendi suuruse muutmist või liigutamist, kui hoiate muuteklahvi (Alt) all:
Seadke pildi atribuut Pilt järgmisele valemile:
ThisItem.Product.Picture
Jällegi viitab avaldis tootele, mis on seostatud selle tellimuse üksikasjadega ja ekstraktib kuvamiseks välja Pilt.
Vähendage galerii malli kõrgust nii, et korraga kuvatakse rohkem kui üks kirje Tellimuse üksikasjad:
Toote koguse ja hinna kuvamine
Lisage vahekaardil Lisa veel üks silt üksikasjade galeriisse ja muutke seejärel uue sildi suurust ning liigutage see toote teabest paremale poole.
Määrake uue sildi atribuut Tekst järgmisele avaldisele:
ThisItem.Quantity
See valem tõmbab teabe otse tabelist Tellimuse üksikasjad (seost pole vaja luua).
Muutke vahekaardil Avaleht selle juhtelemendi joondus valikule Paremal:
Lisage vahekaardil Lisa veel üks silt üksikasjade galeriisse ja muutke seejärel sildi suurust ning liigutage see koguse sildist paremale poole.
Määrake uue sildi atribuut Tekst järgmisele valemile:
Text( ThisItem.'Unit Price', "[$-en-US]$ #,###.00" )
Kui te keele silti ei lisa ([$-eT-EE]), lisatase see teie keele ja regiooni põhjal. Kui kasutate mõnda muud keele silti, soovite eemaldada märgi $ vahetult pärast lõpu nurksulgu (]) ja seejärel lisada sellesse asukohta oma valuuta tähise.
Muutke vahekaardil Avaleht selle juhtelemendi joondus valikule Paremal:
Lisage vahekaardil Lisa veel üks sildi juhtelement üksikasjade galeriisse ja muutke seejärel uue sildi suurust ning liigutage see üksuse hinnast paremale poole.
Määrake uue sildi atribuut Tekst järgmisele valemile:
Text( ThisItem.Quantity * ThisItem.'Unit Price', "[$-en-US]$ #,###.00" )
Jällegi, kui te keele silti ei lisa ([$-eT-EE]), lisatase see teie keele ja regiooni põhjal. Kui silt on erinev, võite tahta kasutada märgi $ asemel oma valuutatähist vahetult pärast lõpu nurksulgu (]).
Muutke vahekaardil Avaleht selle juhtelemendi joondus valikule Paremal:
Olete nüüd lõpetanud juhtelementide lisamine üksikasjade galeriisse.
Valige paanil Puu vaade suvand Ekraan1 tagamaks, et üksikasjade galerii ei oleks enam valitud.
Teksti lisamine uuele tiitliribale
Sisestage vahekaardil Lisa ekraanile järjekordne silt:
Muutke uue sildi suurust ja liigutage see teisel tiitliribal toodete piltide kohale ning muutke seejärel vahekaardil Avaleht teksti värviks valge.
Topeltklõpsake sildi teksti ja tippige seejärel Toode:
Kopeerige ja kleepige toote silt ning seejärel muutke koopia suurust ja liigutage see koguse veeru kohale.
Topeltklõpsake uue sildi teksti ja tippige seejärel Kogus:
Kopeerige ja kleepige koguse silt ning seejärel muutke koopia suurust ja liigutage see üksuse hinna veeru kohale.
Topeltklõpsake uue sildi teksti ja tippige seejärel Üksuse hind:
Kopeerige ja kleepige üksuse hinna silt ning seejärel muutke koopia suurust ja liigutage see laiendatud hinna veeru kohale.
Topeltklõpsake uue sildi teksti ja tippige siis Laiendatud:
Tellimuste kogusummade kuvamine
Vähendage üksikasjade galerii kõrgust, et teha ekraani allservas ruumi tellimuste kogusummade jaoks:
Kopeerige ja kleepige tiitliriba ekraani keskele ning seejärel liigutage koopia ekraani allserva:
Kopeerige ja kleepige toote silt keskmiselt tiitliribalt ning liigutage koopia seejärel tiitliriba allossa, veerust Kogum vasakule.
Topeltklõpsake uue sildi teksti ja tippige seejärel järgmine tekst.
Tellimuste kogusummad:Kopeerige ja kleepige tellimuste kogusummade silt ning seejärel muutke koopia suurust ja liigutage see tellimuste kogusummade sildist paremale poole.
Määrake uue sildi atribuut Tekst järgmisele valemile:
Sum( Gallery1.Selected.'Order Details', Quantity )
See valem näitab delegatsiooni hoiatust, kuid saate seda ignoreerida, kuna ükski tellimus ei sisalda üle 500 toote.
Määrake vahekaardil Avaleht uue sildi teksti joonduseks Paremal:
Kopeerige ja kleepige see sildi juhtelement ning seejärel muutke koopia suurust ja liigutage see veeru Laiendatud alla.
Määrake koopia atribuut Tekst järgmisele valemile:
Text( Sum( Gallery1.Selected.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
See valem näitab delegatsiooni hoiatust, kuid saate seda ignoreerida, kuna ükski tellimus ei sisalda üle 500 toote.
Uute üksikasjade jaoks ruumi lisamine
Saate kõikides galeriides kuvada andmeid, kuid te ei saa seda värskendada ega lisada kirjeid. Üksikasjade galeriisse lisate ala, kus kasutaja saab konfigureerida kirjet tabelis Tellimuse üksikasja ja lisada selle kirje tellimusse.
Vähendage üksikasjade galerii kõrgust piisavalt, et teha selle galerii all ruumi ühe üksuse redigeerimise jaoks.
Selles ruumis saate lisada juhtelemente, et kasutaja saaks lisada tellimuse üksikasju:
Lisage vahekaardil Lisa silt ja seejärel muutke selle suurust ning liigutage see üksikasjade galerii alla.
Topeltklõpsake uue sildi teksti ja vajutage seejärel kustutusnuppu.
Määrake vahekaardil Avaleht uue sildi värviks Täide Helesinine:
Toote valimine
Valige vahekaardil Lisa suvand Juhtelemendid > Liitväli:
Juhtelement Liitväli ilmub ülemises vasakus nurgas.
Valige hüpikdialoogis andmeallikas Tellimuse tooted.
Valige liitvälja vahekaardil Atribuudid suvand Redigeeri (suvandi Väljad kõrval), et avada paan Andmed. Veenduge, et üksused Esmane tekst ja Otsinguväli oleksid määratud valikule nwind_productname.
Määratlege loogiline nimi, kuna paan Andmed ei toeta praegusel juhul kuvatavaid nimesid:
Sulgege paan Andmed.
Kerige parema serva lähedal vahekaardil Atribuudid alla, lülitage välja suvand Luba mitu valikut ja veenduge, et suvand Luba otsimine oleks sisse lülitatud:
Muutke liitvälja suurust ja liigutage see helesinisele alale üksikasjade galeriis otse toote nime veeru alla:
Selles liitboksis määrab kasutaja kirje tabelis Toode rakenduse pakutava tellimuse üksikasjade kirjete jaoks.
Muuteklahvi (Alt) all hoides valige liitvälja allanool.
Näpunäide
Muuteklahvi (Alt) all hoides saate suhelda Power Apps Studio juhtelementidega ilma eelvaaterežiimi avamata.
Valige kuvatavast tooteloendist toode:
Toote pildi lisamine
Valige vahekaardil Lisa suvand Meedium > Pilt:
Juhtelement Pilt ilmub ülemises vasakus nurgas:
Muutke pildi suurust ja liigutage see helesinisele alale teiste toodete piltide alla ja liitvälja kõrvale.
Seadke pildi atribuut Pilt valikule:
ComboBox1.Selected.Picture
Kasutate sama trikki, mida kasutasite töötaja pildi kuvamiseks kokkuvõttevormil. Liitvälja atribuutValitud tagastab mis tahes kasutaja valitud toote kogu kirje, sealhulgas välja Pilt.
Koguse välja lisamine
Valige vahekaardil Lisa suvand Tekst > Tekstisisend:
Juhtelement Tekstisisend ilmub ülemises vasakus nurgas:
Muutke tekstisisestusvälja suurust ja liigutage see liitväljast paremale üksikasjade galeriis koguse veeru alla:
Seda tekstisisestusvälja kasutades määratleb kasutaja kirje Tellimuse üksikasjad välja Kogus.
Määrake selle juhtelemendi atribuut Vaikimisi valikule "":
Määrake vahekaardil Avaleht selle juhtelemendi teksti joondus valikule Paremal:
Ühiku ja laiendatud hindade kuvamine
Sisestage vahekaardile Lisa juhtelement Silt.
Silt kuvatakse ekraani vasakus ülemises nurgas:
Muutke sildi suurust ja liigutage see tekstisisendi juhtelemendist paremale ning määrake sildi atribuut Tekst järgmisele valemile:
Text( ComboBox1.Selected.'List Price', "[$-en-US]$ #,###.00" )
See juhtelement kuvab Hinnakirja vormi Tellimuse tooted tabelist. See väärtus määratleb kirje Tellimuse üksikasjad välja Ühiku hind.
Märkus
Selle stsenaariumi korral on väärtus kirjutuskaitstud, kuid teised stsenaariumid võivad nõuda rakenduse kasutajalt selle muutmist. Sellisel juhul kasutage juhtelementi Tekstisisestus ja määralke selle atribuut Vaikimisi valikule Loendi hind.
Määrake vahekaardil Avaleht loendihinna sildi teksti joondus valikule Paremal:
Kopeerige ja kleepige loendi hinna silt ning seejärel muutke koopia suurust ja liigutage see loendi hinna sildist paremale poole.
Määrake uue sildi atribuut Tekst järgmisele valemile:
Text( Value(TextInput1.Text) * ComboBox1.Selected.'List Price', "[$-en-US]$ #,###.00" )
See juhtelement kuvab laiendatud hinna koguse põhjal, mille rakenduse kasutaja määratles, ja toote loendi hinnal, mille kasutaja valis. See annab rakenduse kasutajale lihtsalt teavet.
Topeltklõpsake koguse tekstisisestuse juhtelementi ja tippige siis arv.
Silt Laiendatud hind arvutab uuesti, et kuvada uus väärtus:
Ikooni Lisa lisamine
Valige vahekaardil Lisa suvand Ikoonid > Lisa:
Ikoon kuvatakse ekraani vasakus ülemises nurgas.
Muutke selle ikooni suurust ja liigutage see helesinise ala paremasse serva ning määrake seejärel ikooni atribuut OnSelect järgmisele valemile:
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 )
Üldiselt funktsioon Paik värskendab ja loob kirjed ning selle valemi konkreetsed argumendid määratlevad funktsiooni tehtavad täpsed muudatused.
Esimene argument täpsustab andmeallikas (sel juhul tellimuse üksikasjade tabel), milles funktsioon värskendab või loob kirje.
Teine argument täpsustab, et funktsioon loob kirje tabeli Tellimuse üksikasjad vaikeväärtustega, kui kolmandas argumendis pole määratud teisiti.
Kolmas argument määratleb, et uue kirje neli veergu sisaldavad väärtusi kasutajalt.
- Veerg Tellimus sisaldab tellimuse numbrit, mille kasutaja tellimuse galeriis valis.
- Veerg Toode sisaldab toote nime, mille valitud kasutaja valis liitväljal, mis kuvas tooteid.
- Veerg Kogus sisaldab väärtus, mille kasutaja tekstisisestusväljal määratles.
- Veerg Üksuse hind sisaldab toote hindade loendit, mille kasutaja selle tellimuse üksikasjade jaoks valis.
Märkus
Saate koostada valemeid, mis kasutavad mis tahes veeru ( Tellimuse tooted tabeli) andmeid mis tahes toote kohta, mille rakenduse kasutaja toodetega seotud liitboksis valib. Kui kasutaja valib kirje tabelist Tellimuse tooted ei kuvata toote nime mitte ainult liitboksis, vaid ka toote ühikuhind sildil. Iga lõuendirakenduse otsinguväärtus viitab tervele kirjele, mitte ainult esmasele võtmele.
Värskendamise funktsioon tagab, et tabel Tellimused kajastab kirjet, mille lisasite tabelisse Tellimuse üksikasjad. Funktsioon Lähtesta eemaldab toote, koguse ja ühiku hinna andmed, et kasutaja saaks sama tellimuse jaoks kergemini luua uue tellimuse üksikasjad.
Vajutage klahvi F5 ja valige ikoon Lisa.
Tellimus viitab teie määratud teabele.
(valikuline) Lisage tellimusele veel üks üksus.
Eelvaate režiimi sulgemiseks vajutage paoklahvi (Esc).
Tellimuse üksikasja eemaldamine
Valige ekraani keskel üksikasjade galerii mall:
Valige vahekaardil Lisa suvand Ikoonid > Prügikast:
Prügikasti ikoon kuvatakse galerii malli vasakus ülemises nurgas.
Muutke prügikasti ikooni suurust ja liigutage see üksikasjade galerii mallist paremale poole ning määrake seejärel ikooni atribuut OnSelect järgmisele valemile:
Remove( 'Order Details', ThisItem ); Refresh( Orders )
Alates sellest kirjast ei saa kirjet otse seosest eemaldada, seega Eemaldab funktsioon kirje otse seostuvast tabelist. ThisItem määratleb eemaldamiseks kirje, mis on võetud üksikasjade galerii samast kirjest, kus kuvatakse prügikasti ikoon.
Toimingus kasutatakse ka vahemällu talletatud andmeid, seega annab värskendusfunktsioon teada Tellimuste tabelile, et rakendus on muutnud ühte sellega seotud tabelitest.
Vajutage eelvaate režiimi avamiseks klahvi F5 ja seejärel valige prügikasti ikoon iga kirje Tellimuse üksikasjad kõrval, mille soovite tellimusest eemaldada.
Proovige lisada ja eemaldada tellimustest erinevaid tellimuse üksikasju:
Kokkuvõte
Kokkuvõtteks lisasite veel ühe galerii, et kuvada rakenduses tellimuse üksikasjad ja tellimuse üksikasja juhtelemendi lisamiseks ning eemaldamiseks. Kasutasite järgmisi elemente.
- Teine galerii juhtelement, mis on üks-mitmele-vastavuse kaudu lingitud tellimuse galeriiga: Gallery2.Items =
Gallery1.Selected.'Order Details'
- Üks-mitmele-vastavus tabeli Tellimuse Üksikasjad ja tellimuse tooted vahel:
ThisItem.Product.'Product Name'
jaThisItem.Product.Picture
- Funktsioon Valikud tooteloendi hankimiseks:
Choices( 'Order Details'.Product' )
- Liitkasti atribuut Valitud on täidetud kui mitu-ühele-vastenduse kirje:
ComboBox1.Selected.Picture
jaComboBox1.Selected.'List Price'
- Funktsioon Paik, et luua kirje Tellimuse üksikasjad:
Patch( 'Order Details', Defaults( 'Order Details' ), ... )
- Funktsioon Eemalda, et eemaldada kirje Tellimuse üksikasjad:
Remove( 'Order Details', ThisItem )
See teemadeseeria on kiirülevaade seoste ja valikute kasutamisest Dataverse lõuendirakenduses otstarbel, mis on vajadusel üle vaatatud. Enne mis tahes rakenduse tootmiskeskkonda vabastamist peate arvestama välja valideerimise, tõrgete käsitsemise ja paljude teiste teguritega.
Märkus
Kas saaksite meile dokumentatsiooniga seotud keele-eelistustest teada anda? Osalege lühikeses uuringus. (Uuring on ingliskeelne.)
Uuringus osalemine võtab umbes seitse minutit. Isikuandmeid ei koguta (privaatsusavaldus).