Saistīt un Atsaistīt funkcijas
Attiecas uz: Pamatnes programmām Modeļa vadītas programmas
Divu tabulu ierakstus saistiet un atsaistiet, izmantojot attiecības viens pret daudziem vai daudzi pret daudziem.
Apraksts
Relate saista divus ierakstus, izmantojot relāciju viens pret daudziem vai daudzi pret daudziem pakalpojumā Microsoft Dataverse. Unrelate funkcija atgriež procesu un noņem saiti.
Attiecībās viens pret daudziem Daudzi tabulā ir svarīgais lauks, kas norāda uz ierakstu no vienas tabulas. Opcija Relate iestata šo lauku, lai norādītu uz konkrētu tabulas One ierakstu, savukārt Unrelate iestata šo lauku kā tukšu. Ja lauks jau ir iestatīts, kad tiek izsaukta Atsaistīšana, esošā saite tiek zaudēta par labu jaunajai. Šo lauku var iestatīt arī, izmantojot Patch funkciju vai Edit form vadīklu; nav jāizmanto Relate funkcija.
Attiecībām daudzi pret daudziem sistēma, kas saista ierakstus, saglabā slēptu kopējo tabulu. Jūs nevarat piekļūt šai tabulai tieši; to var lasīt vienīgi ar viens pret daudziem projekciju un iestatīt, izmantojot funkcijas Relate un Unrelate. Nevienai saistītai tabulai nav sveša atslēga.
Pirmajā argumentā norādītie tabulas dati tiks atsvaidzināti, lai atspoguļotu izmaiņas, taču otrajā argumentā norādījumās tabulas dati netiks. Šos datus ir jāatsvaidzina manuāli, izmantojot Refresh funkciju, lai parādītu operācijas rezultātu.
Šīs funkcijas nekad neveido un nedzēš ierakstu. Tās vienīgi saista vai atsaista divus jau esošus ierakstus.
Varat šīs funkcijas izmantot vienīgi uzvedības formulās.
Note
Šīs funkcijas ir daļa no priekšskatījuma līdzekļa, un to uzvedība ir pieejama vienīgi tad, ja ir iespējots līdzeklis Relāciju dati, opciju kopas un citi jauni CDS līdzekļi. Tas ir programmas līmeņa iestatījums, kas pēc noklusējuma ir iespējots jaunām programmām. Lai atrastu šo līdzekļa slēdzi, atlasiet Iestatījumi un pēc tam atlasiet Gaidāmie līdzekļi. Jūsu atsauksmes mums ir ļoti vērtīgas, tāpēc, lūdzu, sniedziet mums savu viedokli Power Apps kopienas forumos.
Sintakse
Relate( Table1RelatedTable,Table2Record )
- Table1RelatedTable - Obligāts. Table1 ierakstam — Table2 tabulas ieraksti, kas saistīti ar attiecībām viens pret daudziem vai daudzi pret daudziem.
- Table2Record - Obligāts. Table2 ieraksts, ko pievienot attiecībām.
Unrelate( Table1RelatedTable,Table2Record )
- Table1RelatedTable - Obligāts. Table1 ierakstam — Table2 tabulas ieraksti, kas saistīti ar attiecībām viens pret daudziem vai daudzi pret daudziem.
- Table2Record - Obligāts. Table2 ieraksts, ko noņemt no attiecībām.
Piemēri
Apsveriet Produktu tabulu ar šādām attiecībām, kā redzams Power Apps portāla tabulu skatītājā:
Relāciju rādāmais nosaukums | Saistītā tabula | Relācijas tips |
---|---|---|
Preces rezervēšana | Rezervācija | Viens pret daudziem |
Saskare ar produktu ↔ | Kontaktpersona | Daudzi pret daudziem |
Produkti un rezervācijas ir saistītas , izmantojot relāciju viens pret daudziem. Lai tabulas Rezervācijas pirmo ierakstu saistītu ar Produktu tabulas pirmo ierakstu:
Relate( First( Products ).Reservations, First( Reservations ) )
Lai noņemtu relāciju starp šiem ierakstiem:
Unrelate( First( Products ).Reservations, First( Reservations ) )
Nevienā brīdī mēs neveidojām vai nenoņēmām ierakstu, vienīgi tika pārveidota relācija ierakstu starpā.
Produkti un kontaktpersonas ir saistītas, izmantojot relāciju Daudzi pret daudziem. Lai tabulas Kontaktpersonas pirmo ierakstu saistītu ar Produktu tabulas pirmo ierakstu:
Relate( First( Products ).Contacts, First( Contacts ) )
Ja relācija daudzi pret daudziem ir simetriska, mēs to varējām arī darīt pretējā virzienā:
Relate( First( Contacts ).Products, First( Products ) )
Lai noņemtu relāciju starp šiem ierakstiem:
Unrelate( First( Products ).Contacts, First( Contacts ) )
vai:
Unrelate( First( Contacts ).Products, First( Products ) )
Tālāk parādītā informācija precīzi norāda, ka šīs operācijas uz šīm tabulām veic, izmantojot lietojumprogrammu ar lodziņu Galerija un lodziņu Kombinētais lodziņš, lai atlasītu iesaistītos ierakstus.
Šie piemēri ir atkarīgi no jūsu vidē instalētajiem parauga datiem. Vai nu izveidojiet izmēģinājuma vide, iekļaujot parauga datus , vai pievienojiet datu paraugu esošai videi.
Viens pret daudziem
Saistīt funkciju
Vispirms ir jāizveido vienkārša programma to rezervāciju skatīšanai un atkārtotai piešķiršanai, kuras ir saistītas ar preci.
Izveidojiet planšetdatora programmu no tukšas.
Cilnē Skats atlasiet Datu avoti.
Datu rūtī atlasiet vienumu Pievienot datus> atlasiet Produkti.
Produktu tabula ir daļa no iepriekš ielādēto datu parauga.Cilnē Pievienot pievienojiet tukšu vertikālu vadīklu Gallery.
Pārliecinieties, vai tikko pievienotajai vadīklai ir nosaukums Gallery1, un pēc tam to pārvietojiet un mainīt tās izmēru, lai tā aizpildītu ekrāna kreiso pusi.
CIlnē Rekvizīti iestatiet Gallery1rekvizītu Elementi uz Preces un tā Izkārtojumu uz Attēls un nosaukums.
Gallery1 pārliecinieties, vai vadīklas Etiķetes nosaukums ir Title1, un pēc tam iestatiet tās rekvizītu Teksts uz ThisItem.Name.
Atlasiet ekrānu, lai izvairītos no nākamā elementa ievadīšanas Gallery1. Pievienojiet otru tukšu vertikālās Galerijas vadīklu un pārliecinieties, vai tās nosaukums ir Gallery2.
Galerijā2 tiks rādītas rezervācijas jebkuram produktam, ko lietotājs atlasīs galerijā1.
Pārvietojiet un mainiet Gallery2 izmēru, lai aizpildītu ekrāna augšējo labo kvadrantu.
(neobligāti) Pievienojiet zilo Etiķetes virs Gallery2, kā parādīts nākamajā attēlā.
Formulu joslā iestatiet Gallery2 rekvizītu Elementu uz Gallery1.Selected.Reservations.
Rekvizītu rūtī iestatiet Gallery2, Izkārtojumu uz Virsraksts.
Gallery2 pievienojiet Combo Box vadīklu, nodrošiniet, lai tās nosaukums būtu ComboBox1, un pēc tam pārvietojiet to vai mainiet tās izmērus, lai netiktu bloķētas citas Gallery2 vadīklas.
CIlnē Rekvizīti iestatiet ComboBox1, rekvizītu Elementi uz Preces.
Ritiniet uz leju cilni Rekvizīti un iestatiet ComboBox1, rekvizītu Atļaut vairāku atlasi uz Off.
Formulu joslā iestatiet ComboBox1, rekvizītu DefaultSelectedItems uz ThisItem.'Product Reservation'.
Gallery2 iestatiet NextArrow2, rekvizītu OnSelect uz šo formulu:
Relate( ComboBox1.Selected.Reservations, ThisItem )
Ja lietotājs atlasa šo ikonu, pašreizējā rezervācija mainās uz preci, ko lietotājs atlasīja ComboBox1.
Nospiediet F5, lai pārbaudītu programmu Priekšskatījuma režīmā.
Šajā programmā lietotājs var pārvietot rezervāciju no vienas preces uz citu. Attiecībā uz vienas preces rezervāciju lietotājs var atlasīt citu preci ComboBox1 un pēc tam atlasīt NextArrow2, lai mainītu šo rezervāciju.
Atsaistīt funkciju
Šajā brīdī varat pārvietot relācijas no viena ieraksta uz citu, taču nevarat noņemt relācijas kopumā. Lai atsaistītu rezervācijas ierakstu no jebkuras preces, varat izmantot funkciju Unrelate.
Cilnē Skats atlasiet Datu avoti.
Rūtī Dati atlasiet Pievienot datu avotu>Microsoft Dataverse>Rezervācijas>Savienot.
Gallery2 iestatiet NextArrow2 rekvizītu OnSelect uz šo formulu:
If( IsBlank( ComboBox1.Selected ), Unrelate( Gallery1.Selected.Reservations, ThisItem ), Relate( ComboBox1.Selected.Reservations, ThisItem ) ); Refresh( Reservations )
Kopējiet Gallery2 starpliktuvē, atlasot to un pēc tam nospiežot taustiņu kombināciju Ctrl-C.
Ielīmējiet Gallery2 dublikātu tajā pašā ekrānā, nospiežot taustiņu kombināciju Ctrl-V, un pēc tam pārvietojiet to uz ekrāna apakšējo labo kvadrantu.
(neobligāti) Ja pievienojāt etiķeti virs Gallery2, šai etiķetei atkārtojiet divas iepriekšējās darbības.
Pārliecinieties, vai Gallery2 dublikāts ir nosaukts Gallery2_1, un pēc tam iestatiet tā rekvizītu Elementi uz šo formulu:
Filter( Reservations, IsBlank( 'Product Reservation' ) )
Parādās deleģējošais brīdinājums, taču tam nav nozīmēs saistībā ar šī piemēra nelielo datu daudzumu.
Ar šīm izmaiņām lietotāji var notīrīt kontaktpersonu atlasi ComboBox1, ja šī persona nav preci rezervējusi. Kontaktpersonas, kas nav rezervējušas preci, parādās Gallery2_1, kur lietotāji katrai kontaktpersonai var piešķirt preci.
Daudzi pret daudziem
Izveidot relāciju daudzi pret daudziem
Datu paraugā nav attiecību daudzi pret daudziem, bet tiek izveidota attiecība starp produktu tabulu un tabulu Kontaktpersonas. Lietotāji var saistīt katru preci ar vairāk nekā vienu kontaktpersonu un katru kontaktpersonu — ar vairāk nekā vienu preci.
Šajā lapā kreisajā navigācijas joslā atlasiet Dati un pēc tam atlasiet Tabulas.
Mainiet tabulas filtru, lai iekļautu visas tabulas.
Pēc noklusējuma netiek rādīti tabulu paraugi.
Ritiniet uz leju, atveriet tabulu Produkts un atlasiet Attiecības.
Atlasiet Pievienot relāciju>Daudzi pret daudziem.
Atlasiet relācijas tabulu Kontaktpersona.
Atlasiet Gatavs>Saglabāt tabulu.
Saistiet un atsaistiet kontaktpersonas ar vienu vai vairākām precēm
Izveidosit citu programmu, kas atgādina to, ko izveidojāt iepriekš šajā tēmā, taču jauna programma piedāvās relāciju daudzi pret daudziem. Katra persona spēs rezervēt vairākas preces, nevis tikai vienu.
Tukšā programmā planšetdatoriem izveidojiet Gallery1, kā aprakstīts šīs tēmas pirmajā procedūrā.
Pievienojiet vēl vienu tukšu vertikālās Galerijas vadīklu, pārliecinieties, vai tās nosaukums ir Gallery2, un pēc tam pārvietojiet to ekrāna augšējā labajā stūrī.
Tālāk šajā tēmā ir pievienota Kombinētā lodziņa vadīkla sadaļā Gallery2.
Formulu joslā iestatiet Gallery2, rekvizītu Elementi uz Gallery1.Selected.Contacts.
Cilnē Rekvizīti iestatiet Izkārtojumu uz Attēls un nosaukums.
Gallery2 pārliecinieties, vai vadīklas Etiķetes nosaukums ir Title2, un pēc tam iestatiet tās rekvizītu Teksts uz ThisItem.'Full Name'.
Šajā vadīklā netiks parādīts teksts, līdz nepabeigsit šo procedūru un nepiešķirsit precei kontaktpersonu.
Dzēsiet NextArrow2, ievietojiet Atcelšanas ikonu un pārliecinieties, vai tās nosaukums ir icon1.
Iestatiet Atcelšanas ikonas rekvizītu OnSelect uz šo formulu:
Unrelate( Gallery1.Selected.Contacts, ThisItem )
Cilnē Skats atlasiet Datu avoti.
Rūtī Dati atlasiet Pievienot datu avotu>Microsoft Dataverse>Kontaktpersonas>Savienot.
Sadaļā Gallery2 pievienojiet vadīklu Kombinētais lodziņš nodrošiniet, ka tās nosaukums ir ComboBox1, un pēc tam iestatiet tās rekvizītu Elementi uz Kontaktpersonas.
Cilnē Rekvizīti iestatiet opciju Atļaut vairāku atlasi uz Izslēgts.
Ievadiet Pievienošanas ikonu, un iestatiet tās rekvizītu OnSelect uz šo formulu:
Relate( Gallery1.Selected.Contacts, ComboBox1.Selected )
Lietojot šo programmu, lietotāji tagad var brīvi saistīt un atsaistīt kontaktpersonu kopu katrai precei.
Lai pievienotu precei kontaktpersonu, kombinētajā lodziņā ekrāna apakšpusē atlasiet kontaktpersonu, un pēc tam atlasiet ikonu Pievienot.
Lai no preces noņemtu kontaktpersonu, šai kontaktpersonai atlasiet ikonu Atcelt.
Atšķirībā no relācijas viens pret daudziem, relācija daudzi pret daudziem ļauj lietotājiem saistīt vienu un to pašu kontaktpersonu ar vairākām precēm.
Atgriezeniski: saistiet un atsaistiet preces ar vairākām kontaktpersonām
Relācijas daudzi pret daudziem ir simetriskas. Varat paplašināt šo piemēru, lai pievienotu preces kontaktpersonai un tad pāršķirt abus ekrānus, lai rādītu, kā relācija parādās no jebkura virziena.
Iestatiet Screen1 rekvizītu OnVisible uz Atsvaidzināt( Preces ).
Atjauninot attiecības viens pret daudziem vai daudzi pret daudziem, tiek atsvaidzināti tikai izsaukuma Saistīt vai Atsaistīt pirmā argumenta tabulas dati. Otro argumentu ir jāatsvaidzina manuāli, ja vēlaties pāršķirt divus ekrānus šajā programmā.
Dublējiet Screen1.
Dublikāts tiks nosaukts par Screen1_1 un veido pamatu, kā skatīties uz relācijām no kontaktpersonu puses.
Lai izveidotu apgriezto skatu, mainiet šīs formulas Screen1_1 vadīklās:
- 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 )
Rezultāts būs ļoti līdzīgs iepriekšējam ekrānam, taču tas parādās relācijā no Kontaktpersonu puses.
- Screen1_1. OnVisible =
Ievadiet Lejupvērsto un augšupvērsto bultiņu ikonu un iestatiet tās rekvizītu OnSelect uz Navigate( Screen1, None ). Dariet to pašu ar Screen1 ar formulu Navigate( Screen1_1, None ).
Ar šo jauno ekrānu lietotāji var pievienot kontaktpersonu precei un tad pāršķirt uz kontaktpersonu skatu un skatīt saistīto preci. Relācijas ir simetriskas un dalītas starp diviem ekrāniem.