Jagamisviis:


Funktsioonide seostamine ja seostamise tühistamine

Kehtib: lõuendirakendused Mudelipõhised rakendused

Relate and Unrelate kahe tabeli kirjed seostatakse ühe-mitmele või mitu-mitmele seose kaudu.

Kirjeldus

Relate funktsioon lingib kaks kirjet üks-mitmele või mitu-mitmele seose kaudu Microsoft Dataverse’is. Unrelate funktsioon tühistab protsessi ja eemaldab lingi.

Üks-mitmele-vastavustele on tabelis Mitu võtit, mis viitab ühe tabeli kirjele. Suhelge seab selle välja osutama kindlale tabeli One kirjele, samas kui Unrelate seab selle välja tühjaks . Kui väli on juba määratud, kui kutsutakse seostamine, katkeb olemasolev link uue lingi kasuks. Selle välja saate määrata ka funktsiooni Patch või juhtelemendi Edit form abil; te ei pea kasutama Relate funktsiooni.

Mitu-mitmele-seoste puhul säilitab kirjete linkimise süsteem peidetud liitumistabeli. Sellele liitumistabelile ei pääse otse juurde; seda saab lugeda ainult üks-mitmele projektsioon, mis on määratud Relate ja Unrelate funktsioonidega. Kummalgi seostuval tabelil pole võtit.

Esimeses argumendis määratud tabeli andmeid värskendatakse muudatuse kajastamiseks, kuid teises argumendis määratud tabeli andmed ei ole. Seda teavet tuleb toimingu tulemuse kuvamiseks käsitsi värskendada funktsiooni Refresh abil.

Need funktsioonid ei loo ega kustuta kunagi kirjet. Nad seostavad kaks kirjet või tühistavad seose, mis on juba olemas.

Neid funktsioone saate kasutada ainult käitumise valemites.

Märkus.

Need funktsioonid on osa eelvaatefunktsioonist ja nende käitumine on saadaval ainult juhul, kui funktsioonid seoste andmed, suvandikomplektid ja muud uued CDS-i funktsioonid on lubatud. See on rakenduse taseme säte, mis on vaikimisi lubatud uute rakenduste jaoks. Funktsiooni lülituse leidmiseks avage Sätted ja seejärel valige Tulevased funktsioonid. Teie tagasiside on meile väga kasulik – andke meile teada, mida arvate, Power Appsi kogukonna foorumites.

Süntaks

Relate( Table1RelatedTable; Table2Record )

  • Tabel1RelatedTable - nõutav. Tabeli1 kirje puhul tabel Tabel2 kirjed mis on seotud ühe-mitmele või mitmele-mitmele-seosega.
  • Table2Record - nõutav. Tabeli Tabel2 kirje, mille soovite seosele lisada.

Unrelate( Table1RelatedTable;Table2Record )

  • Tabel1RelatedTable - nõutav. Tabeli1 kirje puhul tabel Tabel2 kirjed mis on seotud ühe-mitmele või mitmele-mitmele-seosega.
  • Table2Record - nõutav. Tabeli Tabel2 kirje, millelt soovite seose eemaldada.

Näited

Portaali Toote tabel järgmiste seostega nagu näha Power Apps portaali tabelivaaturis:

Seose kuvatav nimi Seotud tabel Seose tüüp
Toote broneerimine Broneering Üks-mitmele
Toote ↔ kontakt Kontakt Mitu-mitmele

Tooted ja broneeringud on seotud üks-mitmele suhte kaudu. Kui soovite seostada teenuste tabeli Broneeringud esimese kirje Toote tabelis:

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

Nende kirjete vahelise seose eemaldamiseks toimige järgmiselt.

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

Mingil ajahetkel me ei loonud ega eemaldanud kirjet, vaid kirjete vahelist seost muudeti.

Tooted ja kontaktid on seotud mitmelt-mitmele suhte kaudu. Kui soovite seostada esimese kirje Kotaktide tabelist esimese kirjega Toote tabelis:

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

Kuna mitu-mitmele-seosed on sümmeetrilised, oleksime võinud seda teha ka vastupidises suunas.

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

Nende kirjete vahelise seose eemaldamiseks toimige järgmiselt.

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

või:

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

Järgmised toimingud kasutavad täpselt neid toiminguid, kasutades galerii ja liitboksi juhtelementide abil seotud kirjete valimiseks rakendust.

Need näited olenevad teie keskkonnas installitud näidisandmetest. Looge näidisandmeid sisaldav proovikeskkond või lisage näidisandmed olemasolevasse keskkonda.

Üks-mitmele

Funktsioon Relate

Esmalt saate luua lihtsa rakenduse, mis võimaldab vaadata ja ümber määrata tootega seotud broneeringuid.

  1. Looge tahvelarvuti rakendus tühjast.

  2. Valige vahekaardil Vaade suvand Andmeallikad.

  3. Valige Andmed paanil Lisa andmed> valige Tooted.
    Tabel Tooted on osa ülaltoodud näidisandmetest.

  4. Lisage vahekaardil Sisesta tühi vertikaalne Gallery juhtelement.

  5. Veenduge, et lisatud juhtelement oleks nimega Gallery1, ja seejärel teisaldage ja muutke selle suurust, et täita ekraani vasak serv.

  6. Määrake vahekaardil Atribuudid Gallery1 üksuste atribuut toodeteks ja selle paigutus sättele Pilt ja pealkiri.

    ProductsGallery konfigureerimine.

  7. Veenduge vahekaardil Gallery1, et sildi juhtelement oleks nimega Title1, ja määrake selle teksti atribuudi sätteks ThisItem.Name.

    Konfigureerige silt Gallery1-s.

  8. Valige ekraan, et vältida järgmise üksuse lisamist Gallery1. Lisage teine tühi vertikaalne Galerii juhtelement ja veenduge, et selle nimi oleks Gallery2.

    Galerii2 näitab broneeringuid mis tahes tootele, mille kasutaja galeriis1 valib.

  9. Teisaldage Gallery2 ja muutke selle suurust, et täita ekraani ülemist parempoolset mõõturit.

  10. (valikuline) Lisage sinise sildi juhtelement Gallery2 kohal, nagu järgmine pilt näitab.

  11. Seadke valemiribal Gallery2 atribuudi Üksused sätteks Gallery1.Selected.Reservations.

    Gallery2 üksuste konfigureerimine.

  12. Seadke atribuutide paanil Gallery2 paigutus sättele Pealkiri.

    Gallery2 paigutuse konfigureerimine.

  13. Lisage Gallery2-s liitboksi juhtelement, veenduge, et selle nimi oleks ComboBox1, ja seejärel teisaldage ja muutke selle suurust, et vältida Gallery2 muude juhtelementide blokeerimist.

  14. Määrake vahekaardil Atribuudid ComboBox1 üksuste atribuudiks Tooted.

    Üksuste atribuudi seadmine toodetele.

  15. Kerige vahekaardil Atribuudid alla ja seadke ComboBox1 atribuut Luba mitu valikut olekukses Väljas.

    Seadke valiku Luba mitu valikut olekuks Väljas.

  16. Seadke valemiribal ComboBox1 atribuudi DefaultSelectedItems olekuks ThisItem.'Product Reservation'.

    Valiku DefaultSelectedItems seadmine ReserveCombo jaoks.

  17. Määrake Gallery2-s NextArrow2 atribuut OnSelect järgmisele valemile.

    Relate( ComboBox1.Selected.Reservations, ThisItem )
    

    Kui kasutaja valib selle ikooni, siis praegune broneering muutub tooteks, mille kasutaja on valinud ComboBox1-s.

    NextArrow2 konfigureerimine.

  18. Vajutage klahvi F5, et testida rakendust eelvaate režiimis.

Selle rakendusega saab kasutaja broneeringu ühest tootest teise teisaldada. Ühe toote broneerimisel saab kasutaja valida ComboBox1-s erineva toote ja seejärel valida NextArrow2, et seda broneeringut muuta.

Näita seostamise funktsiooni üks-mitmele-rakenduses.

Unrelate funktsioon

Praegu saate seose ühest kirjest teise teisaldada, kuid seost ei saa täielikult eemaldada. Funktsiooniga Unrelate saate katkestada mõne tootega seotud broneeringu kirje.

  1. Valige vahekaardil Vaade suvand Andmeallikad.

  2. Valige paanilt Andmed valikud Lisa andmeallikas>Microsoft Dataverse>Broneeringud>Ühenda.

  3. Määrake Gallery2-s OnSelecti valem NextArrow2 jaoks järgmiseks valemiks.

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

    Parempoolse ikooni konfigureerimine.

  4. Kopeerige Gallery2 lõikelauale, valides selle ja vajutades seejärel klahvikombinatsiooni Ctrl-C.

  5. Kleepige Gallery2 samale kuvale, vajutades klahvikombinatsiooni Ctrl-V, ja teisaldage see ekraani alumisse parempoolsesse nurka.

  6. (valikuline) Kui lisasite sildi Gallery2 kohale, korrake selle sildi eelnevaid kahte etappi.

  7. Veenduge, et Gallery2 duplikaadi nimi oleks Gallery2_1, ja määrake selle atribuudi Üksused väärtuseks see valem.

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

    Kuvatakse delegatsiooni hoiatus, kuid see ei loe väikese hulga andmetega selles näites.

    Gallery2_1 üksuste atribuudi seadmine.

Nende muudatustega saavad kasutajad ComboBox1-s tühistada kontakti valiku, kui see isik pole toodet broneerinud. Kontaktid, kes pole toodet broneerinud, kuvatakse Gallery2_1-s, kus kasutajad saavad igale kontaktile toote määrata.

Näita seostamise ja seose tühistamise funktsioone üks-mitmele-rakenduses.

Mitu-mitmele

Loo uus mitu-mitmele-seos

Näidisandmed ei sisalda mitmeid-mitmele-vastavusi, kuid loote ühe tabeli Tooted ja Kontaktid vahel. Kasutajad saavad iga toote seostada rohkem kui ühe kontaktiga ja iga kontakti rohkem kui ühe tootega.

  1. Sellelt lehelt valige andmed vasakpoolsel navigeerimisribal ja seejärel valige tabelid.

    Tabelite avatud loend.

  2. Muutke tabelifiltrit, et kaasata kõik tabelid.

    Vaikimisi näidistabeleid ei kuvata.

    Eemalda tabeli filter.

  3. Liikuge allapoole, avage toote tabel ja valige Seosed.

  4. Valige Lisa seos>Mitu-mitmele.

  5. Valige kontakt tabel seoste jaoks.

  6. Valige valmis>Salvesta tabel.

Kontaktide seostamine ühe või mitme tootega ja seoste tühistamine

Saate luua veel ühe rakenduse, mis sarnaneb selle teemaga, mille olete selles teemas varem loonud, kuid uus rakendus pakub mitu-mitmele-seost. Iga kontakt saab broneerida mitu toodet ainult ühe asemel.

  1. Looge tahvelarvutile tühjas rakenduses Gallery1 nii, nagu esimene protseduur selles jaotises kirjeldab.

  2. Lisage veel üks tühi vertikaalne Galerii juhtelement, veenduge, et selle nimi oleks Gallery2, ja teisaldage see kuva paremasse ülanurka.

    Hiljem saate selles teemas lisada liitboksi juhtelemendi jaotises Gallery2.

  3. Seadke valemiribal Gallery2 atribuudi Üksused sätteks Gallery1.Selected.Contacts.

    Kontaktide galerii konfigureerimine – atribuut Üksused.

  4. Määrake vahekaardil Atribuudid paigutuse sätteks Pilt ja pealkiri.

    Kontaktide galerii konfigureerimine – paigutus.

  5. Veenduge vahekaardil Gallery2, et sildi juhtelement oleks nimega Title2, ja määrake selle teksti atribuudi sätteks ThisItem.'Full Name'.

    Selle juhtelemendi teksti ei kuvata, kuni te selle toimingu lõpetate ja kontakti tootele määrate.

    Kuva kontakti nimi.

  6. Kustutage NextArrow2, lisage ikoon Tühista ja veenduge, et selle nimi oleks icon1.

  7. Määrake ikooni Tühista OnSelecti atribuudiks see valem.

    Unrelate( Gallery1.Selected.Contacts, ThisItem )
    

    Tühistamisikooni konfigureerimine.

  8. Valige vahekaardil Vaade suvand Andmeallikad.

  9. Valige paanilt Andmed valikud Lisa andmeallikas>Microsoft Dataverse>Kontaktid>Ühenda.

  10. Lisage jaotises Gallery2 liitboksi juhtelement, veenduge, et selle nimi oleks ComboBox1 ja määrake selle üksuste atribuut kontaktidele.

    Liitboksi üksuste atribuudi konfigureerimine.

  11. Määrake vahekaardil Atribuudid suvand Luba mitu valikut olekuks Väljas.

    Liitboksi paigutuse atribuudi konfigureerimine.

  12. SIsestage ikoon Lisa ja määrake selle OnSelecti atribuudile see valem.

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

    Lisamisikooni konfigureerimine.

Selle rakendusega saavad kasutajad nüüd vabalt seostada kontaktid iga tootega ja seoseid tühistada.

  • Kontakti lisamiseks tootele valige ekraani allservas asuv kontakt liitboksis ja seejärel klõpsake ikooni Lisa.

  • Kontakti eemaldamiseks tootelt valige selle kontakti puhul ikoon Tühista.

    Erinevalt üks-mitmele võimaldab mitu-mitmele-seos kasutajatel seostada sama kontakti mitme tootega.

Näita seostamise ja seose tühistamise funktsioone mitu-mitmele-rakenduses.

Vastupidi: seostage tooted mitme kontaktiga ja tühistage seoseid

Mitu-mitmele-seosed on sümmeetrilised. Soovi korral saate laiendada näiteks toodete lisamist kontaktile ja siis kahe kuva vahel ümber pöörata, et näidata, kuidas seos kuvatakse kummaski suunas.

  1. Määrake Screen1 atribuut OnVisible väärtusele Värskenda (tooted ).

    Seose üks-mitmele või mitu-mitmele vastavus värskendamisel värskendatakse ainult seose või tühistamata kõne esimese Seose või Ei seosta andmed. Teine tuleb käsitsi värskendada, kui soovite selle rakenduse kuvade vahel ümber pöörata.

    Atribuudi OnVisible määramine funktsiooni värskendamiseks.

  2. Dubleeri Screen1.

    Duplikaat nimetatakse Screen1_1-ks ja selle põhjal otsitakse kontaktide poolel olevaid seoseid.

    Dubleeri kuva.

  3. Vastupidise vaate loomiseks muutke neid valemeid Screen1_1 juhtelementides.

    • 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 )

    Tulemus on väga sarnane eelmisele kuvale, kuid see on seotud kontaktide poolel olevate suhetega.

    Mitu-mitmele-seose kuvamine, alustades kontaktidest.

  4. Lisage noole üles-, alla-ikoon ja määrake selle OnSelecti atribuut väärtusele Navigeeri (Screen1, puudub). Tehke sama asja Screen1-l valemiga Navigeeri (Screen1_1, puudub).

    Ekraanide vahel navigeerimise lisamine.

See uus ekraan võimaldab kasutajatel lisada tootele kontakti ja seejärel pöörata kontaktide vaatesse ja vaadata seostatud toodet. Seosed on sümmeetrilised ja jagatud kahe ekraani vahel.

Mitu-mitmele-seose näitamine kummalgi pool.