Tietovalikoiman luominen kaaviosovelluksessa
Noudattamalla vaiheittaisia ohjeita voit luoda tietovalikoiman kaaviosovelluksessa kuvitteellisten tietojen Northwind Tradersin tietokannassa. Tämä ohjeaihe kuuluu sarjaan, jossa selitetään, miten voi luoda relaatiotietoihin perustuvan yrityssovelluksen Microsoft Dataversessä. Parhaan tuloksen saat tutustumalla näihin aiheeseen tässä järjestyksessä:
- Tilausvalikoiman luominen.
- Yhteenvetolomakkeen luominen.
- Luo tietovalikoiman luonti ( tämä aihe).
Edellytykset
Ennen kuin aloitat tämän aiheen, sinun on asennettava tietokanta aiemmin tässä aiheessa kuvatulla tavalla. Sitten sinun joko luotava tilausvalikoima ja yhteenvetolomake tai avattava sovellus Northwind-tilaukset (kaavio) – Aloita osan 3, joka sisältää jo kyseisen valikoiman ja kyseisen lomakkeen.
Toisen otsikkopalkin luonti
Valitse näytön yläosasta otsikkopalkkina toimiva Selite-ohjausobjekti, kopioi se painamalla CTRL + C ja liitä se sitten painamalla CTRL + V:
Muuta kopion kokoa ja siirrä se siten, että se näkyy suoraan yhteenvetolomakkeen alla.
Poista kopiosta teksti toisella näistä tavoista:
- Valitse teksti kaksoisnapsauttamalla sitä ja paina sitten Delete-näppäintä.
- Määritä selitteen Text-ominaisuudeksi tyhjä merkkijono "".
Valikoiman lisääminen
Lisää Valikoima-ohjausobjekti asettelulla Tyhjä pystysuuntainen:
Uusi valikoima, joka näyttää tilausten tiedot, näkyy vasemmassa yläkulmassa.
Sulje tietolähteen pikavalintaikkuna ja muuta sitten tietovalikoiman kokoa ja siirrä se oikeaan alakulmaan uuden otsikkopalkin alle:
Aseta tietovalikoiman Items-ominaisuudeksi tämä kaava:
Gallery1.Selected.'Order Details'
Jos näkyviin tulee virhesanoma, varmista, että Tilausvalikoiman nimi on Gallery1 (vasemman reunan lähellä olevassa Puunäkymä-ruudussa). Jos valikoimalla on eri nimi, nimeä se uudelleen muotoon Gallery1.
Olet juuri yhdistänyt kaksi valikoimaa. Kun käyttäjä valitsee tilauksen tilausvalikoimasta, valinta määrittää tietueen Tilaukset-taulukossa. Jos tilaus sisältää vähintään yhden rivin, Tilaukset-taulukon tietue linkitetään vähintään yhteen Tilauksen tiedot -taulukon tietueeseen ja näiden tietueiden tiedot näkyvät yksityiskohtaisessa valikoimassa. Tämä toimintatapa vastaa tilausten ja tilauksen tiedot -taulukoiden välille luotua yksi moneen -suhdetta. Määrittämäsi kaava "kulkee" kyseisessä suhteessa pistenotaatiota käyttäen:
Tuotenimien näyttäminen
Valitse valikoimamalli valitsemalla tietovalikoimassa Lisää kohde Lisää-välilehdestä:
Varmista, että olet valinnut valikoimamallin itse valikoiman sijaan. Täsmällisen kehikon on oltava hieman valikoiman rajan sisäpuolella ja luultavasti valikoiman korkeutta lyhyempi. Kun lisäät ohjausobjekteja tähän malliin, ne toistetaan kunkin valikoimassa olevan kohteen osalta.
Lisää Lisää-välilehdessä valikoimaan selite.
Selitteen pitäisi näkyä valikoimassa. Jos näin ei tapahdu, yritä uudelleen, mutta varmista, että valitset valikoiman mallin, ennen kuin lisäät selitteen.
Määritä uuden selitteen Text-ominaisuudeksi seuraava kaava:
ThisItem.Product.'Product Name'
Jos tekstiä ei näy, valitse tilauksen Tilaus 0901 nuoli läheltä Tilausvalikoiman alaosaa.
Muuta otsikon kokoa siten, että näkyviin tulee koko teksti:
Tämä lauseke on peräisin Tilauksen tiedot -taulukon tietueesta. Tietue sijaitsee ThisItem-alueessa Tilaustuotteet-taulukon monta-yhteen-suhteella:
Tuotteen nimi -sarake (ja muut sarakkeet, joita olet aikonut käyttää) puretaan:
Tuotekuvien näyttäminen
Lisää Lisää-välilehdessä tietovalikoimalle Kuva-ohjausobjekti:
Muuta kuvan kokoa ja siirrä se selitteen viereen.
Vihje
Jos haluat määrittää ohjausobjektin koon ja sijainnin tarkasti, aloita koon muuttaminen tai siirtäminen ilman ALT-näppäimen painamista ja muuta sitten ohjausobjektin kokoa tai siirrä sitä pitäen ALT-näppäintä painettuna:
Määritä kuvan Image-ominaisuudeksi seuraava kaava:
ThisItem.Product.Picture
Lauseke viittaa jälleen tähän tilaustietoon liittyvään tuotteeseen ja purkaa Kuva-kentän näkyviin.
Vähennä valikoimamallin korkeutta niin, että näkyvissä on enemmän kuin yksi Tuotetieto-tietue:
Tuotteen määrän ja kustannusten näyttäminen
Lisää Lisää-välilehdellä uusi selite tietovalikoimaan ja muuta sitten tämän selitteen kokoa ja siirrä se tuotetiedon oikealle puolelle.
Määritä uuden selitteen Text-ominaisuudeksi seuraava lauseke:
ThisItem.Quantity
Tämä kaava vetää tiedot suoraan Tilauksen tiedot -taulukosta (suhdetta ei tarvita).
Muuta Aloitus-välilehdessä tämän ohjausobjektin tasaukseksi Oikea:
Lisää Lisää-välilehdellä uusi selite tietovalikoimaan ja muuta sitten tämän selitteen kokoa ja siirrä se määräselitteen oikealle puolelle.
Määritä uuden selitteen Text-ominaisuudeksi seuraava kaava:
Text( ThisItem.'Unit Price', "[$-en-US]$ #,###.00" )
Jos et sisällytä kielitunnistetta ([$-en-US]), se lisätään puolestasi kieli- ja alueasetustesi perusteella. Jos käytät eri kielitunnistetta, sinun on poistettava $ suoraan sulkevan hakasulun (]) jälkeen ja lisättävä sitten oma valuuttasymbolisi kyseiseen kohtaan.
Muuta Aloitus-välilehdessä tämän ohjausobjektin tasaukseksi Oikea:
Lisää Lisää-välilehdellä uusi seliteohjausobjekti tietovalikoimaan ja muuta sitten tämän selitteen kokoa ja siirrä se yksikköhinnan oikealle puolelle.
Määritä uuden selitteen Text-ominaisuudeksi seuraava kaava:
Text( ThisItem.Quantity * ThisItem.'Unit Price', "[$-en-US]$ #,###.00" )
Jos taas et sisällytä kielitunnistetta ([$-en-US]), se lisätään puolestasi kieli- ja alueasetustesi perusteella. Jos tunniste on eri, sinun on käytettävä omaa rahayksikön tunnustasi tunnuksen $ sijaan sulkevan hakasulun (]) jälkeen.
Muuta Aloitus-välilehdessä tämän ohjausobjektin tasaukseksi Oikea:
Olet nyt lisännyt tarvittavat ohjausobjektit tietovalikoimaan.
Valitse Puunäkymä-ruudussa Screen1 varmistaaksesi, että tietovalikoima ei enää ole valittuna.
Tekstin lisääminen uuteen otsikkopalkkiin
Lisää ruudulle uusi selite Lisää-välilehdessä:
Muuta uuden selitteen kokoa ja siirrä se toisen otsikkopalkin tuotekuvien yläpuolelle ja muuta tekstin väri sitten valkoiseksi Aloitus-välilehdessä.
Kaksoisnapsauta selitteen tekstiä ja kirjoita sitten Tuote:
Kopioi ja liitä tuoteselite ja muuta sitten sen kokoa ja siirrä kopio määräsarakkeen yläpuolelle.
Kaksoisnapsauta uuden selitteen tekstiä ja kirjoita sitten Määrä:
Kopioi ja liitä määräselite ja muuta sitten sen kokoa ja siirrä kopio yksikköhintasarakkeen yläpuolelle.
Kaksoisnapsauta uuden selitteen tekstiä ja kirjoita sitten Yksikköhinta:
Kopioi ja liitä yksikköhintaselite ja muuta sitten sen kokoa ja siirrä kopio laajennetun hinnan sarakkeen yläpuolelle.
Kaksoisnapsauta uuden selitteen tekstiä ja kirjoita sitten Laajennettu:
Tilauksen summien näyttäminen
Pienennä tietovalikoiman korkeutta, jotta tilauksen yhteissummille on tilaa ruudun alaosassa:
Kopioi ja liitä otsikkopalkki näytön keskelle ja siirrä sitten kopio näytön alareunaan:
Kopioi ja liitä tuoteselite keskimmäisestä otsikkopalkista ja siirrä sitten kopio alimpaan otsikkopalkkiin suoraan Määrä-sarakkeen vasemmalle puolelle.
Kaksoisnapsauta uuden selitteen tekstiä ja kirjoita sitten seuraava teksti:
Tilauksen summat:Kopioi ja liitä tilaussummaselite ja muuta sitten kopion kokoa ja siirrä se tilaussummien selitteen oikealle puolelle.
Määritä uuden selitteen Text-ominaisuudeksi seuraava kaava:
Sum( Gallery1.Selected.'Order Details', Quantity )
Tämä kaava näyttää delegointivaroituksen, mutta voit jättää sen huomiotta, koska mikään yksittäinen tilaus ei sisällä yli 500:aa tuotetta.
Määritä Aloitus-välilehdessä uuden selitteen tekstin tasaukseksi Oikea:
Kopioi ja liitä seliteohjausobjekti ja muuta sitten sen kokoa ja siirrä kopio Laajennettu-sarakkeen yläpuolelle.
Määritä kopion Text-ominaisuudeksi seuraava kaava:
Text( Sum( Gallery1.Selected.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
Tämä kaava näyttää delegointivaroituksen, mutta voit jättää sen huomiotta, koska mikään yksittäinen tilaus ei sisällä yli 500:aa tuotetta.
Lisää tilaa uusille tiedoille
Voit näyttää tietoja missä tahansa valikoimassa, mutta et voi päivittää niitä tai lisätä tietueita. Tietovalikoimaan lisätään alue, jossa käyttäjä voi määrittää tietueen Tilauksen tiedot -taulukossa ja lisätä tietueen tilaukseen.
Vähennä tietovalikoiman korkeutta riittävästi, jotta sen alle mahtuu yhden kohteen muokkaustila.
Tässä tilassa lisäät ohjausobjekteja siten, että käyttäjä voi lisätä tilaustiedon:
Lisää Lisä-välilehdessä selite ja muuta sitten sen kokoa ja siirrä se tietovalikoiman alle.
Kaksoisnapsauta uuden selitteen tekstiä ja paina sitten Delete-näppäintä.
Määritä Aloitus-välilehdessä uuden selitteen Täyttö-väriksi LightBlue:
Tuotteen valitseminen
Valitse Lisää-välilehti sitten Ohjausobjektit > Yhdistelmäruutu:
Yhdistelmäruutu-ohjausobjekti näkyy vasemmassa yläkulmassa.
Valitse pikavalintaikkunassa Tilaustuotteet-tietolähde.
Valitse yhdistelmäruudun Ominaisuudet-välilehdessä Muokkaa (Kentät-kohdan vieressä) avataksesi Tiedot-ruudun. Varmista, että kohtien Ensisijainen teksti ja SearchField arvona on nwind_productname.
Looginen nimi määritetään, koska Tiedot-ruutu ei vielä tue näyttönimiä tässä tapauksessa:
Sulje Tiedot-ruutu.
Vieritä lähellä oikeaa reunaa sijaitsevassa Ominaisuudet-välilehdessä alaspäin, poista Salli seat valinnat ja varmista, että Sallihakeminen on käytössä:
Muuta yhdistelmäruudun kokoa ja siirrä se vaaleansiniselle alueelle suoraan tietovalikoiman tuotenimisarakkeen alle:
Tässä yhdistelmäruudussa käyttäjä määrittää Tuote-taulukkoon tietueen sen Tilauksen tiedot -tietueelle, jonka sovellus luo.
Pidä Alt-näppäintä painettuna ja valitse yhdistelmäruudun alanuoli.
Vihje
Pitämällä Alt-näppäintä painettuna voit käsitellä ohjausobjekteja Power Apps Studiossa avaamatta esikatselutilaa.
Valitse tuote näkyviin tulevasta tuoteluettelosta:
Lisää tuotekuva
Valitse Lisää-välilehdessä Media > Kuva:
Kuva-ohjausobjekti näkyy vasemmassa yläkulmassa:
Muuta kuvan kokoa ja siirrä se vaaleansiniselle alueelle muiden tuotekuvien alle ja yhdistelmäruudun viereen.
Määritä kuvan Image-ominaisuudeksi seuraava:
ComboBox1.Selected.Picture
Käytät samaa menetelmää kuin silloin, kun näytit työntekijän kuvan yhteenvetolomakkeessa. Yhdistelmäruudun Selected-ominaisuus palauttaa koko käyttäjän valitseman tuotteen koko tietueen, Kuva-kenttä mukaan luettuna.
Määräruudun lisääminen
Valitse Lisää-välilehti sitten Teksti > Tekstisyöte:
Tekstisyöte-ohjausobjekti näkyy vasemmassa yläkulmassa:
Muuta tekstisyöteruudun kokoa ja siirrä se yhdistelmäruudun oikealle puolelle tietovalikoiman määräsarakkeen alle:
Käyttämällä tätä tekstisyöteruutua käyttäjä määrittää Tilaustiedot-tietueen Määrä-kentän.
Määritä tämän ohjausobjektin Default-ominaisuudeksi "".
Määritä Aloitus-välilehdessä tämän ohjausobjektin tekstin tasaukseksi Oikea:
Yksikköhinnan ja laajennetun hinnan näyttäminen
Lisää Lisää-välilehdessä Selite-ohjausobjekti.
Selite näkyy näytön vasemmassa yläkulmassa:
Muuta selitteen kokoa ja siirrä se tekstinsyöttöohjausobjektin oikealle puolelle ja määritä selitteen Teksti-ominaisuudeksi tämä kaava:
Text( ComboBox1.Selected.'List Price', "[$-en-US]$ #,###.00" )
Tämä ohjausobjekti näyttää Tilaustuotteet-taulukon luettelohinnan. Tämä arvo määrittää Yksikköhinta-kentän Tilaustiedot-tietueessa.
Huomautus
Tässä skenaariossa arvo on vain luku -tilassa, mutta muut skenaariot saattavat vaatia sovelluksen käyttäjää muokkaamaan sitä. Käytä tällöin Tekstisyöte-ohjausobjektia ja määritä sen Default-ominaisuudeksi Luettelohinta.
Määritä Aloitus-välilehdessä luettelohintaselitteen tekstin tasaukseksi Oikea:
Kopioi ja liitä luettelohintaselite ja muuta sitten kopion kokoa ja siirrä se luettelohintaselitteen oikealle puolelle.
Määritä uuden selitteen Text-ominaisuudeksi seuraava kaava:
Text( Value(TextInput1.Text) * ComboBox1.Selected.'List Price', "[$-en-US]$ #,###.00" )
Tämä ohjausobjekti näyttää laajennetun hinnan sovelluksen käyttäjän määrittämän määrän perusteella sekä sovelluksen käyttäjän valitseman tuotteen luettelohinnan. Se on vain tiedoksi sovelluksen käyttäjälle.
Kaksoisnapsauta määrän tekstinsyöttöohjausobjektia ja kirjoita sitten luku.
Laajennettu-hintaselite lasketaan uudelleen näyttämään uusi arvo:
Lisää-kuvakkeen lisäys
Valitse Lisää-välilehdessä Kuvakkeet > Lisää:
Kuvake tulee näkyviin näytön vasemmassa yläkulmassa.
Muuta tämän kuvakkeen kokoa, siirrä se vaaleansinisen alueen oikeaan reunaan ja määritä kuvakkeen OnSelect-ominaisuudeksi tämä kaava:
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 )
Yleensä Korjaa-funktio päivittää ja luo tietueita, ja tämän kaavan argumentit määrittävät toiminnon tekemät muutokset tarkasti.
Ensimmäinen argumentti määrittää tietolähde (tässä tapauksessa Tilauksen tiedot -taulukon), jossa toiminto päivittää tai luo tietueen.
Toinen argumentti määrittää, että toiminto luo tietueen, jolla on Tilauksen tiedot -taulukon oletusarvot, ellei kolmannessa argumentissa ole toisin määritetty.
Kolmas argumentti määrittää, että uuden tietueen neljä saraketta sisältää käyttäjän arvoja.
- Tilaus-sarake sisältää käyttäjän tilausvalikoimassa valitseman tilauksen numeron.
- Tuote-sarake sisältää käyttäjän tuotteita näyttävässä yhdistelmäruudussa valitseman tuotteen nimen.
- Määrä-sarake sisältää käyttäjän tekstisyöteruudussa määrittämän arvon.
- Yksikköhinta-sarake sisältää käyttäjän tälle tilaustiedolle valitseman tuotteen luettelohinnan.
Huomautus
Voit muodostaa kaavoja, jotka käyttävät minkä tahansa sarakkeen tietoja (Tilaustuotteet-taulukossa) tuotteelle, jonka sovelluskäyttäjä valitsee tuotteita tuovassa yhdistelmäruudussa. Kun käyttäjä valitsee tietueen Tilaustuotteet-taulukosta, tuotteen nimen lisäksi tuotteen yksikköhinta näkyy otsikossa. Kukin kaaviosovelluksen hakuarvo viittaa kokonaiseen tietueeseen eikä vain perusavaimeen.
Päivitä-toiminto varmistaa, että Tilaukset-taulukko vastaa tilaustiedot-taulukkoon juuri lisäämääsi tietuetta. Nollaus-funktio tyhjentää tuote-, määrä- ja yksikköhintatiedot, jotta käyttäjä voi helpommin luoda uuden tilaustiedon samalle tilaukselle.
Paina F5-näppäintä ja valitse sitten Lisää-kuvake.
Tilaus vastaa määrittämiäsi tietoja:
(valinnainen) Uuden kohteen lisääminen tilaukseen.
Sulje esikatselutila painamalla Esc-näppäintä.
Tilaustiedon poistaminen
Valitse näytön keskiosasta tietovalikoiman malli:
Valitse Lisää-välilehdessä Kuvakkeet > Roskakori:
Roskakorikuvake tulee näkyviin valikoimamallin vasemmassa yläkulmassa.
Muuta roskakorikuvakkeen kokoa, siirrä se tietovalikoimamallin oikealle puolelle ja määritä kuvakkeen OnSelect-ominaisuudeksi tämä kaava:
Remove( 'Order Details', ThisItem ); Refresh( Orders )
Tästä kirjoittamisesta alkaen tietuetta ei voi poistaa suoraan suhteesta, joten Poista-toiminto poistaa tietueen suoraan liittyvästä taulukosta. ThisItem määrittää poistettavan tiedon, joka on otettu samasta tietovalikoiman tietueesta, jossa roskakorikuvake tulee näkyviin.
Toiminto käyttää jälleen välimuistiin tallennettuja tietoja, joten Päivitä-toiminto ilmoittaa Tilaukset-taulukkoon, että sovellus on muuttanut yhtä siihen liittyvästä taulukosta.
Avaa esikatselutila painamalla F5-näppäintä ja valitse sitten roskakorikuvake kunkin tilauksesta poistettavan Tilaustiedot-tietueen vierestä.
Kokeile useiden tilaustietojen poistamista ja lisäämistä tilauksissasi:
Lopuksi
Kertaukseksi: voit lisätä uuden valikoiman näyttämään tilaustietoja ja ohjausobjekteja, joilla lisätään ja poistetaan tilaustietoja sovelluksessa. Käytit näitä elementtejä:
- Toinen valikoimaohjausobjekti, joka on yhdistetty tilausvalikoimaan yksi-moneen-suhteen kautta: Gallery2.Items =
Gallery1.Selected.'Order Details'
- Tilaustiedot-taulukon ja Tilaustuotteet-taulukon on monta yhteen -yhteys:
ThisItem.Product.'Product Name'
jaThisItem.Product.Picture
- Valinnat-funktio tuoteluettelon saamiseksi:
Choices( 'Order Details'.Product' )
- Yhdistelmäruudun Selected-ominaisuus kokonaisena monta-yhteen-tietueena:
ComboBox1.Selected.Picture
jaComboBox1.Selected.'List Price'
- Korjaus-funktio Tilaustiedot-tietueen luomiseen:
Patch( 'Order Details', Defaults( 'Order Details' ), ... )
- Poista-funktio Tilaustiedot-tietueen poistamiseen:
Remove( 'Order Details', ThisItem )
Tämä aiheiden sarja on ollut lyhyt opastus Dataverse-suhteiden ja valintojen käyttämisestä kaaviosovelluksessa koulutustarkoituksiin. Ennen kuin vapautat minkä tahansa sovelluksen tuotantoon, kannattaa ottaa huomioon kenttien tarkistaminen, virheiden käsittely ja monta muuta tekijää.
Huomautus
Voitko kertoa meille dokumentaatiota koskevan kielimäärityksesi? Vastaa lyhyeen kyselyyn. (Huomaa, että tämä kysely on englanninkielinen.)
Kyselyyn vastaaminen kestää noin seitsemän minuuttia. Henkilökohtaisia tietoja ei kerätä (tietosuojatiedot).