Jaa


Relate- ja Unrelate-funktio

Soveltuu: Pohjaan perustuvat sovellukset Mallipohjaiset sovellukset

Liitä tai pura kahden taulukon tietueiden liitos yksi moneen- tai monta moneen -suhteen kautta.

Kuvaus

Relate-funktio linkittää kaksi tietuetta yksi moneen- tai monta moneen -suhteen kautta Microsoft Dataverse. Unrelate-funktio kumoaa prosessin ja poistaa linkin.

Yksi moneen -suhteissa, Moneen-taulukossa on korvaavan avaimen kenttä, joka viittaa Yksi-taulukon tietueeseen. Relate asettaa tämän kentän osoittamaan tiettyyn Yksi-taulukon tietueeseen, kun taas Unrelate asettaa tämän kentän tyhjäksi. Jos kenttä on jo määritetty, kun Relate kutsutaan, aiemmin luotu linkki menetetään uuden linkin hyväksi. Voit myös määrittää tämän kentän käyttämällä Patch-toimintoa tai Edit form -ohjausobjektia – sinun ei tarvitse käyttää Relate-funktiota.

Monta-moneen-suhteissa järjestelmä, joka linkittää tietueet, ylläpitää piilotettua liitostaulukkoa. Et voi käyttää tätä liitostaulukkoa suoraan, sitä voi lukea vain yksi-moneen-projektiolla, joka määritetään Relate- ja Unrelate-funktioiden kautta. Kummallakaan liittyvällä taululla ei ole viiteavainta.

Ensimmäisessä argumentissa määritettävän taulukon tiedot päivittyvät muutoksen mukaan, mutta toisessa argumentissa määrittämääsi taulukon tietoja ei päivitetä. Tiedot on päivitettävä manuaalisesti Refresh-toiminnolla, jotta toiminnon tulos näkyy.

Nämä toiminnot eivät koskaan luo tai poista tietuetta. Ne vain liittävät (tai poistavat liitoksen) kaksi jo olemassa olevaa tietuetta.

Näitä funktioita voidaan käyttää vain toimintakaavoissa.

Muistiinpano

Nämä toiminnot ovat osa esikatselutoimintoa, ja niiden toiminta on käytettävissä vain silloin, kun Suhdetiedot, asetusjoukot ja muut CDS:n uudet ominaisuudet -ominaisuus on käytössä. Tämä on sovellustason asetus, joka on oletusarvon mukaan käytössä uusissa sovelluksissa. Voit etsiä tämän valitsinta valitsemalla Asetukset ja sitten Tulevat ominaisuudet. Palautteesi on meille erittäin arvokasta. Kerro meille mielipiteesi Power Apps-yhteisön keskustelupalstoilla.

Syntaksi

Relate( Table1RelatedTable, Table2Record )

  • Table1RelatedTable – pakollinen. Table 1 -tietuetta varten Table 2 -tietueiden taulukko, joka liittyy yksi moneen- tai monta-moneen-suhteen kautta.
  • Table2Record – pakollinen. Suhteeseen lisättävä Table2-tietue.

Unrelate( Table1RelatedTable, Table2Record )

  • Table1RelatedTable – pakollinen. Table 1 -tietuetta varten Table 2 -tietueiden taulukko, joka liittyy yksi moneen- tai monta-moneen-suhteen kautta.
  • Table2Record – pakollinen. Suhteesta poistettava Table2-tietue.

Esimerkit

Harkitse Tuote-taulukkoa, jossa on seuraavat suhteet, kuten nähdään Power Apps -portaalin taulukkokatseluohjelmassa:

Suhteen näyttönimi Liittyvä taulukko Suhteen tyyppi
Tuotevaraus Varaus Yksi moneen
Product ↔ Contact Ota yhteyttä Monta moneen

Products ja Reservations liittyvät yksi-moneen-suhteen kautta. Voit liittää Varaukset-taulukon ensimmäisen tietueen Tuotteet-taulukon ensimmäiseen tietueeseen:

Relate( First( Products ).Reservations, First( Reservations ) )

Voit poistaa näiden tietueiden välisen suhteen seuraavasti:

Unrelate( First( Products ).Reservations, First( Reservations ) )

Missään vaiheessa ei luotu eikä poistettu tai tietueita, vaan vain tietueiden välinen suhde muokattiin.

Products ja Contacts liittyvät monta-moneen-suhteen kautta. Voit liittää Yhteyshenkilöt-taulukon ensimmäisen tietueen Tuotteet-taulukon ensimmäiseen tietueeseen:

Relate( First( Products ).Contacts, First( Contacts ) )

Koska monta-moneen-suhteet ovat symmetrisiä, olisimme voineet tehdä tämän myös vastakkaiseen suuntaan:

Relate( First( Contacts ).Products, First( Products ) )

Voit poistaa näiden tietueiden välisen suhteen seuraavasti:

Unrelate( First( Products ).Contacts, First( Contacts ) )

tai:

Unrelate( First( Contacts ).Products, First( Products ) )

Seuraavat toiminnot tekee näissä taulukoissa tarkalleen nämä toiminnot sovelluksella, jossa on Gallery- ja Combo box-ohjausobjektit, kun valitaan kyseiset tietueet.

Nämä esimerkit riippuvat ympäristöön asennetuista näyte tiedoista. Luo joko kokeiluympäristö, jossa on näytetiedot tai lisää näytetiedot aiemmin luotuun ympäristöön.

Yksi moneen

Relate-funktio

Luot ensin yksinkertaisen sovelluksen, jonka avulla voit tarkastella ja delegoida tuotteeseen liittyviä varauksia.

  1. Luo tyhjä tablettisovellus.

  2. Valitse Näytä-välilehdessä Tietolähteet.

  3. Valitse Tiedot-ruudussa Lisää tiedot>Tuotteet.
    Tuotteet-taulukko kuuluu yllä ladattuihin näytetietoihin.

  4. Lisää tyhjä pystysuora Gallery-ohjausobjekti Lisää-välilehdessä.

  5. Varmista, että juuri lisäämäsi ohjaus objekti on nimeltään Gallery1, ja siirrä sitä ja muuta sen kokoa, jotta se täyttää näytön vasemman reunan.

  6. Määritä Ominaisuudet-välilehdessä Gallery1:n Items-ominaisuudeksi Products ja sen asetteluksiKuva ja otsikko.

    Tuotevalikoiman määrittäminen.

  7. Varmista Gallery1:ssä, että Label-ohjausobjektin nimi on Title1 ja aseta sen Text-ominaisuuden arvoksi ThisItem.Name.

    Määritä selite Gallery1:ssä.

  8. Valitse näyttö, jos haluat välttää seuraavan kohteen lisäämisen Gallery1:een. Lisää toinen tyhjä pystysuora Gallery-ohjausobjekti ja varmista, että sen nimi on Gallery2.

    Gallery2 näyttää varaukset riippumatta siitä, mitä tuotetta käyttäjä valitsee valikoimassa Gallery1.

  9. Siirrä Gallery2 ja muuta sen kokoa , jotta voit täyttää näytön oikean yläneljänneksen.

  10. (Valinnainen) Lisää sininen Label-ohjausobjekti edellä olevaan Gallery2:een, kuten seuraavassa kuvassa näkyy.

  11. Määritä kaavarivillä Gallery2:n Items-ominaisuuden arvoksi Gallery1.Selected.Reservations.

    Gallery2:n Items-ominaisuuden määrittäminen.

  12. Määritä ominaisuusruudussa Gallery2:n asetteluksiOtsikko.

    Gallery2:n asettelun määrittäminen.

  13. Lisää Gallery2:ssa Combo box-ohjausobjekti, varmista, että sen nimi on ComboBox1, ja siirrä ja muuta sen kokoa, jotta Gallery2:n muut ohjausobjektit eivät peity.

  14. Määritä Ominaisuudet-välilehdessä ComboBox1:n Items-ominaisuudeksi Products.

    Items-ominaisuuden määrittäminen arvoon Products.

  15. Vieritä Ominaisuudet-välilehdessä alaspäin ja aseta ComboBox1:n Allow multiple selection-ominaisuuden arvoksi Ei käytössä.

    Määritä Salli useat valinnat -ominaisuus pois käytöstä.

  16. Määritä kaavarivillä ComboBox1:n DefaultSelectedItems-ominaisuudeksi ThisItem.'Product Reservation'.

    Määritä ReserveCombon DefaultSelectedItems.

  17. Määritä Gallery2:ssa NextArrow2:n OnSelect-ominaisuudeksi kaava:

    Relate( ComboBox1.Selected.Reservations, ThisItem )
    

    Kun käyttäjä valitsee tämän kuvakkeen, nykyinen varaus muuttuu tuotteeseen, jonka käyttäjä valitsi ComboBox1-ruudussa.

    Määritä NextArrow2.

  18. Testaa sovellus esikatselutilassa painamalla F5-näppäintä.

Tämän sovelluksen avulla käyttäjä voi siirtää varauksen yhdestä tuotteesta toiseen. Jos kyseessä on yhden tuotteen varaus, käyttäjä voi valita toisen tuotteen ComboBox1-ruudussa ja muuttaa varausta valitsemalla NextArrow2.

Relate-funktio yksi-moneen-sovelluksessa.

Unrelate-funktio

Tässä vaiheessa voit siirtää suhteen tietueesta toiseen, mutta et voi poistaa suhdetta kokonaan. Voit katkaista varaustietueen linkin mistä tahansa tuotteesta Unrelate-funktion avulla.

  1. Valitse Näytä-välilehdessä Tietolähteet.

  2. Valitse Tiedot-ruudussa Lisää tietolähde>Microsoft Dataverse>Reservations>Yhdistä.

  3. Määritä Gallery2:ssa NextArrow2:n OnSelect-kaavaksi:

    If( IsBlank( ComboBox1.Selected ),
        Unrelate( Gallery1.Selected.Reservations, ThisItem ),
        Relate( ComboBox1.Selected.Reservations, ThisItem )
    );
    Refresh( Reservations )
    

    Right-kuvakkeen määrittäminen.

  4. Kopioi Gallery2 leikepöydälle valitsemalla se ja painamalla Ctrl+C.

  5. Liitä Gallery2-kopio samaan näyttöön painamalla CTRL + V -näppäinyhdistelmää ja siirrä se sitten näytön oikeaan alaneljännekseen.

  6. (Valinnainen) Jos lisäsit otsikon yllä Gallery2:een, toista kaksi edellistä vaihetta kyseisen otsikon kohdalla.

  7. Varmista , että Gallery2-kohteen kaksoiskappaleen nimi on Gallery2_1 ja määritä sitten sen Items-ominaisuudeksi tämä kaava:

    Filter( Reservations, IsBlank( 'Product Reservation' ) )
    

    Näkyviin tulee delegointivaroitus, mutta tässä esimerkissä sillä ei ole merkitystä pienellä tietomäärällä.

    Gallery2_1-valikoiman Items-ominaisuuden asettaminen.

Näillä muutoksilla käyttäjät voivat tyhjentää yhteyshenkilön ComboBox1-valinnan, jos kyseinen henkilö ei ole varannut tuotetta. Yhteyshenkilöt, jotka eivät ole varanneet tuotetta, näkyvät Gallery2_1:ssä, jossa käyttäjät voivat määrittää kunkin yhteyshenkilön tuotteeseen.

Relate- ja Unrelate-funktiot yksi-moneen-sovelluksessa.

Monta moneen

Luo uusi monta-moneen-suhde

Näytetietoihin ei sisälly monta moneen -suhdetta, mutta sellainen luodaan Tuotteet-taulukon ja Yhteyshenkilöt-taulukon välille. Käyttäjät voivat liittää kunkin tuotteen useampaan kuin yhteen yhteyshenkilöön ja kuhunkin yhteyshenkilöön useamman kuin yhden tuotteen.

  1. Valitse tältä sivulta vasemmanpuoleisesta siirtymispalkista Tiedot ja valitse sitten Taulukot.

    Avaa taulukkoluettelo.

  2. Muuta taulukkosuodatinta niin, että se sisältää kaikki taulukot.

    Näytetaulukot eivät oletusarvoisesti näy.

    Poista taulukkosuodatin.

  3. Vieritä alaspäin, avaa Tuote-taulukko ja valitse Suhteet.

  4. Valitse Lisää suhde>Monta moneen.

  5. Valitse suhteen yhteyshenkilö-taulukko.

  6. Valitse Valmis>Tallenna taulukko.

Yhteyshenkilöiden ja yhden tai useamman tuotteen välisen yhteyden luominen ja poistaminen

Luot toisen sovelluksen, joka muistuttaa aiemmin tässä aiheessa luomaasi sovellusta, mutta uusi sovellus tarjoaa monta-moneen-suhteen. Kukin yhteys henkilö voi varata useita tuotteita vain yhden sijasta.

  1. Jos kyseessä on tyhjä sovellus taulutietokoneille, luo Gallery1ensimmäisenä toimenpiteenä tässä aiheessa kuvatulla tavalla.

  2. Lisää toinen tyhjä pystysuora Gallery-ohjausobjekti, varmista, että sen nimi on Gallery2, ja siirrä se sitten näytön oikeaan yläkulmaan.

    Myöhemmin tässä aiheessa lisäät Combo box-ohjausobjektin valikoimaanGallery2.

  3. Määritä kaavarivillä Gallery2:n Items-ominaisuuden arvoksi Gallery1.Selected.Contacts.

    ContactsGalleryn määrittäminen – Items-ominaisuus.

  4. Määritä Ominaisuudet-välilehdessä asetteluksiKuva ja otsikko.

    ContactsGalleryn määrittäminen – asettelu.

  5. Varmista Gallery2:ssä, että Label-ohjausobjektin nimi on Title2 ja aseta sen Text-ominaisuuden arvoksi ThisItem.'Full Name'.

    Kyseisessä ohjausobjektissa ei näy tekstiä, ennen kuin olet tehnyt nämä toimet ja määrittänyt yhteyshenkilölle tuotteen.

    Näytä yhteyshenkilön nimi.

  6. Poista NextArrow2, lisää Peruuta-kuvake ja varmista, että sen nimi on icon1.

  7. Määritä Peruuta-kuvakkeen OnSelect-ominaisuudeksi seuraava kaava:

    Unrelate( Gallery1.Selected.Contacts, ThisItem )
    

    Peruuta-kuvakkeen määrittäminen.

  8. Valitse Näytä-välilehdessä Tietolähteet.

  9. Valitse Tiedot-ruudussa Lisää tietolähde>Microsoft Dataverse>Contacts>Yhdistä.

  10. Lisää Gallery2-kohtaan Combo box-ohjausobjekti, varmista, että sen nimi on ComboBox1, ja määritä sitten sen Items-ominaisuuden arvoksi Contacts.

    Yhdistelmäruudun Items-ominaisuuden määrittäminen.

  11. Määritä Ominaisuudet-välilehdessä Allow multiple selection -ominaisuus pois käytöstä.

    Yhdistelmäruudun Layout-ominaisuuden määrittäminen.

  12. Lisää Lisää-kuvake ja määritä sen OnSelect-ominaisuudeksi seuraava kaava:

    Relate( Gallery1.Selected.Contacts, ComboBox1.Selected )
    

    Lisää-kuvakkeen määrittäminen.

Tällä sovelluksella käyttäjät voivat nyt yhdistää yhteyshenkilöitä tuotteisiin toisiinsa ja poistaa ne toisistaan.

  • Jos haluat lisätä yhteyshenkilön tuotteeseen, valitse yhteyshenkilö näytön alareunassa olevasta yhdistelmäruudusta ja valitse sitten Lisää-kuvake.

  • Jos haluat poistaa yhteyshenkilön jostakin tuotteesta, valitse kyseisen yhteyshenkilön Peruuta-kuvake.

    Toisin kuin yksi-moneen, monta-moneen-suhde sallii käyttäjien liittää saman yhteyshenkilön useisiin tuotteisiin.

Relate- ja Unrelate-funktiot monta-moneen-sovelluksessa.

Käänteisesti: liitä ja poista liitokset tuotteiden ja useiden yhteyshenkilöiden väliltä

Monta-moneen-suhteet ovat symmetrisiä. Voit laajentaa esimerkkiä lisäämällä tuotteita yhteyshenkilöön ja valitsemalla sitten kahden näytön välillä, miten suhde näkyy kummassakin suunnassa.

  1. Määritä OnVisible-ominaisuudeksi kohteessaScreen1 arvo Refresh( Products ).

    Kun päivität yksi moneen- tai monta-moneen-suhteen, vain Liitä- tai Pura liittymä -puhelun ensimmäisen argumenttitaulukon tiedot päivitetään. Toinen on päivitettävä manuaalisesti, jos haluat selata tämän sovelluksen näyttöjen välillä.

    Määritä OnVisible-ominaisuudeksi Refresh-toiminto.

  2. Monista Screen1.

    Kaksoiskappaleen nimeksi tulee Screen1_1 ja sen perusteella tarkastellaan suhteita yhteyshenkilöiden puolelta.

    Näytön monistaminen.

  3. Jos haluat luoda käänteisen näkymän, muuta näitä kaavoja Screen1_1-ohjausobjekteissa:

    • Screen1_1.OnVisible = Refresh( Contacts )
    • Gallery1_1.Items = Contacts
    • Title1_1.Text = ThisItem.'Full Name'
    • Label1_1.Text = "Selected Contact Products"
    • Gallery2_1.Items = Gallery1_1.Selected.Products
    • Title2_1.Text = ThisItem.Name
    • Icon1_1.OnSelect = Unrelate( Gallery1_1.Selected.Products, ThisItem )
    • ComboBox1_1.Items = Products
    • Icon2_1.OnSelect = Relate( Gallery1_1.Selected.Products, ComboBox1_1.Selected )

    Tulos näyttää hyvin samanlaiselta kuin edellinen näyttö, mutta se tulee yhteyshenkilöiden puolelta.

    Monta-moneen-suhteen näyttäminen alkaen yhteyshenkilöistä.

  4. Lisää Nuolet ylös ja alas -kuvake ja määritä sen OnSelect-ominaisuuden arvoksi Navigate( Screen1, None ). Tee sama Screen1-näytössä kaavalla Navigate( Screen1_1, None ).

    Navigoinnin lisääminen näyttöjen välille.

Tässä uudessa näytössä käyttäjät voivat lisätä yhteyshenkilön tuotteeseen ja siirtyä sitten yhteyshenkilöiden näkymään ja nähdä liittyvän tuotteen. Suhteet ovat symmetriset ja ne jaetaan kahden näytön välillä.

Monta-moneen-suhteen näyttäminen kummaltakin puolelta.