Funkcie Related a Unrelancy

Vzťahuje sa na: aplikácie plátna aplikácie s podporou modelov

Vytvorenie a zrušenie vzťahov medzi záznamami dvoch tabuliek prostredníctvom vzťahu typu jeden k mnohým alebo mnohé k mnohým.

Popis

Funkcia Relate prepája dva záznamy prostredníctvom vzťahov typu jeden k mnohým a mnohé k mnohým v Microsoft Dataverse. Funkcia Unrelate proces obráti a odstráni odkaz.

Pre vzťahy typu jeden k mnohým tabuľka Mnoho pole cudzieho kľúča, ktoré ukazuje na záznam tabuľky Jeden. Funkcia Relate nastavuje toto pole tak, aby ukazovalo na konkrétny záznam tabuľky Jedna, zatiaľ čo Unrelate nastavuje toto pole na prázdne. Ak je pole už nastavené, keď sa volá funkcia Relate, existujúci odkaz sa stratí v prospech nového odkazu. Toto pole môžete tiež nastaviť pomocou funkcie Patch alebo ovládacieho prvku Upraviť formulár; nemusíte používať funkciu Relate.

Pre vzťahy typu mnohé k mnohým si systém, ktorý prepája záznamy, zachováva skrytú tabuľku spojení. K tejto tabuľke sa nedá pristupovať priamo; je možné ju prečítať iba prostredníctvom projekcie typu jeden k mnohým a nastaviť pomocou funkcií Relate a Unrelate. Ani jedna súvisiaca tabuľka nemá cudzí kľúč.

Údaje pre tabuľku, ktorú zadáte v prvom argumente, sa obnovia, aby odrážali zmenu, ale údaje pre tabuľku, ktorú zadáte v druhom argumente, sa nebudú obnovovať. Tieto údaje sa musia manuálne obnoviť pomocou funkcie Refresh na zobrazenie výsledku operácie.

Tieto funkcie nikdy nevytvárajú ani neodstraňujú záznam. Vytvoria alebo zrušia súvis iba medzi dvoma záznamami, ktoré už existujú.

Môžete tieto funkcie použiť iba vo vzorcoch správania.

Poznámka

Tieto funkcie sú súčasťou funkcie náhľadu a ich správanie je k dispozícii, iba ak je povolená funkcia Relačné údaje, množiny možností a ďalšie nové funkcie pre CDS. Toto je nastavenie na úrovni aplikácie, ktoré je predvolene povolené pre nové aplikácie. Ak chcete nájsť tento prepínač funkcií, otvorte ponuku Nastavenia a potom vyberte Pripravované funkcie. Vaša spätná väzba je pre nás veľmi cenná – podeľte sa s nami o svoj názor vo fórach komunity služby Power Apps.

Syntax

Relate(Table1RelatedTable, Table2Record)

  • Table1RelatedTable – povinné. Pre záznam Table1, tabuľka Table2 záznamy súvisiace prostredníctvom vzťahu typu jeden k mnohým alebo mnohé k mnohým.
  • Table2Record – povinné. Záznam Table2 na pridanie do vzťahu.

Unrelate (Table1RelatedTable, Table2Record)

  • Table1RelatedTable – povinné. Pre záznam Table1, tabuľka Table2 záznamy súvisiace prostredníctvom vzťahu typu jeden k mnohým alebo mnohé k mnohým.
  • Table2Record – povinné. Záznam Table2 na odstránenie zo vzťahu.

Príklady

Zvážte tabuľku Produkty s nasledujúcimi vzťahmi, ako je uvedené v prehliadači tabuliek portálu Power Apps:

Zobrazovaný názov vzťahu Súvisiaca tabuľka Typ vzťahu
Rezervácia produktu Rezervácia Jeden k mnohým
Produkt ↔ Kontakt Kontakt Mnohé k mnohým

Produkty a Rezervácie súvisia prostredníctvom vzťahu typu „jeden k mnohým“. Na prepojenie prvého záznamu tabuľky Rezervácie s prvým záznamom tabuľky Produkty:

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

Ak chcete odstrániť vzťah medzi týmito záznamami:

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

V žiadnom okamihu sme nevytvorili ani neodstránili ani nenahradili záznam, zmenil sa iba vzťah medzi záznamami.

Produkty a Kontakty súvisia prostredníctvom vzťahu typu „mnohé k mnohým“. Na prepojenie prvého záznamu tabuľky Kontaktu s prvým záznamom tabuľky Produkty:

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

Keďže vzťahy typu mnohé k mnohým sú symetrické, mohli sme to urobiť aj opačným smerom:

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

Ak chcete odstrániť vzťah medzi týmito záznamami:

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

alebo:

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

Nasledujúci krok vykoná presne tieto operácie na týchto tabuľkách pomocou aplikácie s ovládacími prvkami Galéria a Rozbaľovacie pole na výber príslušných záznamov.

Tieto príklady závisia od vzorových údajov nainštalovaných vo vašom prostredí. Vytvorte skúšobné prostredie vrátane vzorových údajov alebo pridajte vzorové údaje do existujúceho prostredia.

Jeden k mnohým

Funkcia Relate

Najprv vytvoríte jednoduchú aplikáciu, pomocou ktorej si budete môcť prezerať a priraďovať rezervácie spojené s produktom.

  1. Vytvorte aplikáciu pre tablet od začiatku.

  2. Na karte Zobraziť vyberte položku Zdroje údajov.

  3. Na table Údaje vyberte Pridať údaje> vyberte Produkty.
    Tabla Produkty je súčasťou vzorových údajov načítaných vyššie.

  4. Na internete Vložiť pridajte prázdny vertikálny ovládací prvok Galéria.

  5. Skontrolujte, má ovládací prvok, ktorý ste práve pridali, názov Gallery1, a potom ho posuňte a zmeňte jeho veľkosť tak, aby vyplnil ľavú stranu obrazovky.

  6. Na karte Vlastnosti nastavte vlastnosť Items ovládacieho prvku Gallery1 na Produkty a Layout na Obrázok a názov.

    Konfigurácia galérie produktov.

  7. V Gallery1 zabezpečte, aby ovládací prvok Označenie mal názov Title1 a potom nastavte jeho vlastnosť Text na ThisItem.Name.

    Konfigurácia označenia v Gallery1.

  8. Vyberte obrazovku, aby ste do Gallery1 nezadali ďalšiu položku. Pridajte druhý prázdny vertikálny ovládací prvok Galéria a uistite sa, že je pomenovaný ako Gallery2.

    Gallery2 zobrazí rezervácie k akémukoľvek produktu, ktorý používateľ vyberie v Gallery1.

  9. Presuňte a zmeňte veľkosť Gallery2 tak, aby vyplnila pravý horný kvadrant obrazovky.

  10. (voliteľné) Pridajte modrý ovládací prvok Označenie nad Gallery2, ako ukazuje nasledujúci obrázok.

  11. Na paneli vzorcov nastavte vlastnosť Items ovládacieho prvku Gallery2 na Gallery1.Selected.Reservations.

    Konfigurácia vlastnosti Items pre Gallery2.

  12. Na table vlastností nastavte vlastnosť Layout ovládacieho prvku Gallery2 na Názov.

    Konfigurácia rozloženia Gallery2.

  13. V Gallery2 pridajte ovládací prvok Rozbaľovacie pole, uistite sa, že je pomenovaný ako ComboBox1 a potom ho presuňte a zmeňte jeho veľkosť, aby ste zabránili blokovaniu ostatných ovládacích prvkov v Gallery2.

  14. Na karte Vlastnosti nastavte vlastnosť Items pre ComboBox1 na Produkty.

    Nastavenie vlastnosti Items na Produkty.

  15. Prejdite nadol na karte Vlastnosti kartu a nastavte vlastnosť Allow multiple selection (Povoliť viacnásobný výber) pre ComboBox1 na Vyp..

    Nastavenie vlastnosti Povoliť viacnásobný výber na Vyp.

  16. Na paneli vzorcov nastavte vlastnosť DefaultSelectedItems pre ComboBox1 na ThisItem.'Product Reservation '.

    Nastavenie vlastnosti DefaultSelectedItems pre ReserveCombo.

  17. V Gallery2 nastavte vlastnosť OnSelect pre NextArrow2 na tento vzorec:

    Relate( ComboBox1.Selected.Reservations, ThisItem )
    

    Keď používateľ vyberie túto ikonu, aktuálna rezervácia sa zmení na produkt, ktorý používateľ vybral v ComboBox1.

    Konfigurácia NextArrow2.

  18. Stlačením klávesu F5 otestujte aplikáciu v režime ukážky.

Pomocou tejto aplikácie môže používateľ presunúť rezerváciu z jedného produktu na druhý. Pri rezervácii jedného produktu si môže používateľ vybrať iný produkt v ComboBox1 a potom vybrať NextArrow2 na zmenu tejto rezervácie.

Predvedenie funkcie Relate v aplikácii typu jeden k mnohým.

Funkcia Unrelate

V tomto okamihu môžete vzťah presunúť z jedného záznamu do druhého, ale vzťah nemôžete úplne odstrániť. Môžete použiť funkciu Unrelate na odpojenie záznamu o rezervácii od akéhokoľvek produktu.

  1. Na karte Zobraziť vyberte položku Zdroje údajov.

  2. Na table Údaje vyberte položku Pridať zdroj údajov>Microsoft Dataverse>Rezervácie>Pripojiť.

  3. V Gallery2 nastavte vzorec OnSelect pre NextArrow2 na tento vzorec:

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

    Ikona Konfigurovať vpravo.

  4. Skopírujte Gallery2 do schránky výberom a stlačením Ctrl+C.

  5. Vložte duplikát Gallery2 na tú istú obrazovku stlačením klávesov Ctrl-V a potom ju presuňte do pravého dolného kvadrantu obrazovky.

  6. (voliteľné) Ak ste vyššie uvedený štítok pridali nad Gallery2, zopakujte predchádzajúce dva kroky pre dané označenie.

  7. Uistite sa, že duplikát Gallery2 je pomenovaný ako Gallery2_1 a potom nastavte jeho vlastnosť Items na tento vzorec:

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

    Zobrazí sa upozornenie týkajúce sa delegovania, ale pri malom množstve údajov v tomto príklade na tom nezáleží.

    Nastavenie vlastnosti Items položky Gallery2_1.

Pomocou týchto zmien môžu používatelia vymazať výber v ComboBox1 pre kontakt, ak táto osoba nerezervovala produkt. Kontakty, ktoré si nevyhradili žiadny produkt, sa objavia v Gallery2_1, kde používatelia môžu priradiť každý kontakt k produktu.

Predvedenie funkcií Relate a Unrealte v aplikácii typu jeden k mnohým.

Mnohé k mnohým

Vytvorenie vzťahu typu mnohé k mnohým

Vzorové údaje nezahŕňajú vzťah mnohé k mnohým, ale vytvoríte ho medzi tabuľkou Produkty a tabuľkou Kontakty. Používatelia môžu priradiť každý produkt k viac ako jednému kontaktu a každý kontakt k viac ako jednému produktu.

  1. Z tejto stránky vyberte Údaje na ľavom navigačnom paneli a potom vyberte Tabuľky.

    Otvorenie zoznamu tabuliek.

  2. Zmeňte filter tabuľky tak, aby obsahoval všetky tabuľky.

    Vzorové tabuľky sa predvolene nezobrazujú.

    Odstránenie filtra tabuľky.

  3. Posuňte zobrazenie nadol a otvorte tabuľku Produkt a vyberte Vzťahy.

  4. Vyberte Pridať vzťah>Mnohé k mnohým.

  5. Vyberte tabuľku Kontakt pre vzťah.

  6. Vyberte Hotovo>Uložiť tabuľku.

Vytvorenie alebo zrušenie súvisu kontaktov s jedným alebo viacerými produktmi

Vytvoríte ďalšiu aplikáciu, ktorá sa podobá tej, ktorú ste vytvorili v tejto téme skôr, ale nová aplikácia ponúkne vzťah typu mnohé s mnohými. Každý kontakt si bude môcť rezervovať viac produktov namiesto jedného.

  1. V prázdnej aplikácii pre tablety vytvorte Gallery1, ako je popísané v prvom postupe v tejto téme.

  2. Pridajte ďalší prázdny vertikálny ovládací prvok Galéria, uistite sa, že je pomenovaný Gallery2 a potom ho presuňte do pravého horného rohu obrazovky.

    Neskôr v tejto téme pridáte Rozbaľovacie pole po Gallery2.

  3. Na riadku vzorcov nastavte vlastnosť Items ovládacieho prvku Gallery2 na Gallery1.Selected.Contacts.

    Konfigurácia vlastnosti ContactsGallery - Vlastnosť položiek.

  4. Na karte Vlastnosti nastavte Rozloženie na Obrázok a názov.

    Konfigurácia ContactsGallery - Rozloženie.

  5. V Gallery2 zabezpečte, aby ovládací prvok Označenie mal názov Title2 a potom nastavte jeho vlastnosť Text na ThisItem.'Full Name'.

    V tomto ovládacom prvku sa nezobrazí žiadny text, kým neukončíte tento postup a nepriradíte kontakt produktu.

    Zobrazenie názvu kontaktu.

  6. Odstráňte NextArrow2, vložte ikonu Zrušiť a uistite sa, že je pomenovaná ako icon1.

  7. Vlastnosť OnSelect ikony Zrušiť nastavte na tento vzorec:

    Unrelate( Gallery1.Selected.Contacts, ThisItem )
    

    Konfigurácia ikony Zrušiť.

  8. Na karte Zobraziť vyberte položku Zdroje údajov.

  9. Na table Údaje vyberte položku Pridať zdroj údajov>Microsoft Dataverse>Kontakty>Pripojiť.

  10. Pod Gallery2 pridajte ovládací prvok Rozbaľovacie pole, uistite sa, že je pomenované ComboBox1 a potom nastavte jeho vlastnosť Items na Kontakty.

    Konfigurácia vlastnosti Items rozbaľovacieho poľa.

  11. Na karte Vlastnosti nastavte Povoliť viacnásobný výber na Vyp.

    Konfigurácia vlastnosti Layout rozbaľovacieho poľa.

  12. Vložte ikonu Pridať a nastavte jej vlastnosť OnSelect na tento vzorec:

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

    Konfigurácia ikony Pridať.

S touto aplikáciou môžu používatelia teraz voľne vytvoriť alebo zrušiť súvis množiny kontaktov s každým produktom.

  • Ak chcete do produktu pridať kontakt, vyberte kontakt v rozbaľovacom zozname v dolnej časti obrazovky a potom vyberte ikonu Pridať.

  • Ak chcete odstrániť kontakt z produktu, vyberte ikonu Zrušiť pre tento kontakt.

    Na rozdiel vzťah jeden k mnohým umožňuje vzťah mnohé k mnohým používateľom priradiť ten istý kontakt k viacerým produktom.

Predvedenie funkcií Relate a Unrealte v aplikácii typu mnohé k mnohým.

Naopak: Vytvorenie a zrušenie súvisu produktov s viacerými kontaktmi

Vzťahy typu mnohé k mnohým sú symetrické. Príklad môžete rozšíriť tak, aby sa produkty pridali do kontaktu, a potom listovaním medzi dvoma obrazovkami ukázať, ako sa vzťah objavuje z oboch smerov.

  1. Vlastnosť OnVisible položky Screen1 nastavte na Refresh( Products ).

    Pri aktualizácii vzťahu jeden k mnohým alebo mnohé k mnohým sa obnovia iba údaje z tabuľky prvého argumentu volania Relate alebo Unrelate. Druhá sa musí obnoviť ručne, ak chcete listovať medzi obrazovkami tejto aplikácie.

    Nastavenie vlastnosti OnVisible na funkciu Obnoviť.

  2. Vytvorte duplikát Screen1.

    Duplikát bude pomenovaný Screen1_1 a vytvorí základ na hľadanie vo vzťahoch zo strany kontaktov.

    Vytvorenie duplikátu obrazovky.

  3. Ak chcete vytvoriť spätné zobrazenie, zmeňte tieto vzorce na ovládacích prvkoch Screen1_1:

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

    Výsledok bude vyzerať veľmi podobne ako predchádzajúca obrazovka, ale vychádza zo vzťahu zo strany Kontakty.

    Zobrazenie vzťahu typu mnohé k mnohým, ktoré začínajú s kontaktmi.

  4. Vložte ikonu Šípky hore dole a nastavte jej vlastnosť OnSelect na Navigate( Screen1, None ). Urobte to isté na obrazovke Screen1 so vzorcom Navigate( Screen1_1, None ).

    Pridanie navigácie medzi obrazovkami.

Pomocou tejto novej obrazovky môžu používatelia pridať kontakt do produktu a potom listovať v zobrazení kontaktov a zobraziť priradený produkt. Vzťahy sú symetrické a zdieľané medzi oboma obrazovkami.

Predvedenie vzťahu typu mnohé k mnohým z oboch strán.