Gerelateerde tabelrecords rechtstreeks vanuit het hoofdformulier van een andere tabel bewerken
Er zijn meerdere manieren waarop u kunt werken met gerelateerde tabelrecords op een tabelformulier binnen Power Apps. U kunt bijvoorbeeld gerelateerde tabellen in de alleen-lezenmodus opnemen met een snelle-weergaveformulier en een record maken of bewerken met een hoofdformulier in een dialoogvenster.
Een andere manier om met gerelateerde tabelrecords te werken, is door een besturingselement voor een formulieronderdeel toe te voegen aan het hoofdformulier van een andere tabel. Met het besturingselement voor een formulieronderdeel kunnen gebruikers informatie van een gerelateerde tabelrecord rechtstreeks vanuit het formulier van een andere tabel bewerken.
Hier is bijvoorbeeld het formulieronderdeel op een apart tabblad op het hoofdaccountformulier, waarmee de gebruiker een contactrecord kan bewerken zonder het accountformulier te verlaten.
Hier ziet u bijvoorbeeld het formuliercomponent op een bestaand tabblad in het hoofdaccountformulier, waarmee de gebruiker ook een contactrecord kan bewerken zonder het tabblad Samenvatting van het accountformulier te verlaten.
Het formulieronderdeel toevoegen aan een tabelhoofdformulier
- Selecteer in het linker navigatiedeelvenster de optie Onderdelen. Als het item zich niet in het deelvenster van het zijpaneel bevindt, selecteert u …Meer en selecteert u vervolgens het gewenste item.
- Vouw Invoer of Weergave uit en selecteer vervolgens Formulier.
Selecteer op de configuratiepagina van het formuliercomponentbesturingselement de eigenschappen voor het besturingselement:
- Selecteer de opzoekkolom voor het formulier.
- Selecteer het Gerelateerde formulier. Afhankelijk van de gerelateerde tabelconfiguratie voor de kolom:
- Als de kolom is gekoppeld aan één tabel (zoals de kolom Gemaakt door), selecteert u het Gerelateerde formulier dat u wilt gebruiken.
- Als de kolom is verbonden met meerdere tabellen (polymorf, zoals de eigenaarskolom), selecteert u + Gerelateerd formulier en selecteert u vervolgens Toevoegen om het gerelateerde formulier toe te voegen. Blijf + Gerelateerd formulier>Toevoegen selecteren om een gerelateerd formulier voor elke gerelateerde tabel toe te voegen.
- Standaard zijn alle client-apptypen Web, Telefoon en Tablet ingeschakeld om het formulier weer te geven. Wis de clienttypen waarin u het formulier niet wilt laten weergeven.
- Selecteer Gereed.
- Sla het formulier op en publiceer het.
Het form component-besturingselement toevoegen met behulp van de klassieke ervaring
In dit voorbeeld is het standaardhoofdformulier Contact geconfigureerd voor het besturingselement van het formuliercomponent dat is toegevoegd aan het hoofdformulier voor het account.
Belangrijk
De manier waarop u een form component-besturingselement toevoegt, is gewijzigd. We raden u aan dat u de meest recente ervaring te gebruiken. Meer informatie: Voeg het formuliercomponent toe aan een tabelhoofdformulier
Aanmelden bij Power Apps.
Selecteer Tabellen in het linkerdeelvenster. U kunt ook een oplossing openen en vervolgens een tabel selecteren, zoals Account. Als het item zich niet in het deelvenster van het zijpaneel bevindt, selecteert u …Meer en selecteert u vervolgens het gewenste item.
Selecteer Formulieren in het componentenmenu.
Selecteer een formulier met het formuliertype Hoofd uit de beschikbare formulieren.
Selecteer Overschakelen naar Klassiek. De interface van de klassieke formuliereneditor wordt geopend als een tabblad in uw browser.
Selecteer het tabblad Invoegen . Maak vervolgens een nieuw tabblad en voeg een nieuwe sectie toe of voeg een nieuwe sectie toe aan een bestaand tabblad.
Voeg in de nieuwe sectie een opzoekkolom toe, zoals de opzoekkolom Primaire contactpersoon .
Selecteer de opzoekkolom en selecteer vervolgens op het tabblad Start de optie Eigenschappen wijzigen.
Selecteer op het tabblad Besturingselementen de optie Besturingselement toevoegen, selecteer in de lijst met besturingselementtypen de optie Formuliercomponentbesturingselement en selecteer vervolgens Toevoegen.
Selecteer Web, Tablet en Telefoon voor het onderdeel.
Selecteer Bewerken (potloodpictogram) en selecteer in het dialoogvenster Eigenschap configureren Bind aan een statische waarde en voeg vervolgens een XML-item toe dat lijkt op dit, waarbij TableName de unieke naam van de tabel is en FormID de formulier-ID voor het hoofdformulier:
<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>
- Om bijvoorbeeld het Contact hoofdformulier op het accountformulier weer te geven, gebruikt u:
<QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>
- Om bijvoorbeeld het Contact hoofdformulier op het accountformulier weer te geven, gebruikt u:
Selecteer OK en selecteer vervolgens nogmaals OK .
Sla uw formulier op en publiceer het vervolgens.
Fooi
Om de unieke naam voor een tabel te vinden, selecteert u de tabel in Power Apps en selecteert u vervolgens instellingen. De Naam wordt weergegeven in het tabelvenster Bewerken. De formulier-ID is te vinden in de browser-URL wanneer u een formulier bewerkt. De ID volgt het /edit/ gedeelte van de URL.
In de klassieke formulierontwerper volgt de formulier-ID het formId%3d gedeelte van de URL.
Gedrag van formulieronderdeel
In dit gedeelte wordt het gedrag van formulieronderdel+en beschreven bij gebruik in een modelgestuurde app.
Recordselectie
Als u ervoor wilt zorgen dat het form component-besturingselement een formulier weergeeft, moet de opzoekkolom waaraan het is gebonden een waarde hebben. Anders toont het besturingselement het bericht Bronrecord niet geselecteerd. Een manier om de waarde in te stellen, is door aan het formulier een opzoekbesturingselement toe te voegen dat aan dezelfde opzoekkolom is gebonden als het besturingselement voor formulieronderdelen. Wanneer u het opzoekbesturingselement gebruikt om de waarde van de opzoekkolom te wijzigen, toont het besturingselement voor formulieronderdelen een formulier met de gegevens voor de nieuwe opzoekkolomwaarde.
Kolomvalidatie
Alle kolommen, zowel in het hoofdformulier als in de formulieronderdeelbesturingselementen, moeten geldig zijn om gegevens naar Microsoft Dataverse te sturen. Dit geldt voor kolomvalidatiefouten, ontbrekende vereiste kolommen, enzovoort.
OnSave
handlers worden uitgevoerd voor het hoofdformulier en de besturingselementen van de formuliercomponent. Elke handler kan de opslag voor het hoofdformulier en de formuliercomponentbesturingselementen Annuleren uitvoeren met behulp van preventDefault. Dit betekent dat geen enkele opslagbewerking kan vereisen dat gegevens naar preventDefault
worden verzonden. Dataverse De volgorde waarin de OnSave
handlers worden aangeroepen, is niet gedefinieerd. Meer informatie: Form OnSave Event (Client API-referentie) in modelgestuurde apps
Record opslaan
Zodra de validatiefase is doorlopen, worden de gegevens verzonden naar Dataverse voor elk record. Momenteel wordt elk record onafhankelijk bijgewerkt met verschillende verzoeken. De saves zijn niet transactioneel, en de volgorde van de saves is niet gedefinieerd. Een fout bij het opslaan van een formulieronderdeel zal wijzigingen in het hoofdformulier of andere formulieronderdelen niet ongedaan maken. Nadat elke opslag is voltooid, worden de gegevens vernieuwd voor alle records op het formulier.
Meldingen
Meldingen over het formulieronderdeel worden samengevoegd in de meldingen van het hoofdformulier. Als er bijvoorbeeld ongeldige kolommen in het formulieronderdeel staan en u probeert op te slaan, verschijnt de melding over een ongeldige kolom bovenaan het hoofdformulier in plaats van in het formulieronderdeel.
Foutafhandeling
Als er tijdens het opslaan meerdere fouten optreden, wordt slechts één fout aan de gebruiker getoond. Als de gebruiker in staat is wijzigingen aan te brengen om de eerste fout te herstellen en vervolgens opslaat, wordt de volgende fout zichtbaar. De gebruiker moet doorgaan met opslaan totdat alle fouten zijn opgelost.
Records met niet-opgeslagen wijzigingen wijzigen
Als er niet-opgeslagen wijzigingen zijn in een formulier voor een formulieronderdeel en een gebruiker probeert de opzoekkolom te wijzigen waaraan het formulieronderdeel gebonden is, wordt de gebruiker op de hoogte gesteld van deze wijziging.
Client-API
Er is een formuliercontext beschikbaar voor het besturingselement formuliercomponent. U kunt er toegang toe krijgen via de formuliercontext van het hoofdformulier door de besturing te openen via een API, zoals getControl. Voordat u toegang krijgt tot gegevens voor de gerelateerde tabel in het besturingselement van het formuliercomponent, moeten gebeurtenisafhandelaars wachten tot de isLoaded API waar retourneert voor het besturingselement.
Beperkingen
Houd rekening met de volgende beperkingen wanneer u het besturingselement voor een formulieronderdeel toevoegt aan een tabelformulier:
Het besturingselement voor een formulieronderdeel ondersteunt alleen het weergeven van hoofdformulieren. Evenzo wordt ondersteuning voor het toevoegen van een besturingselement voor een formulieronderdeel alleen ondersteund met hoofdformulieren. Andere formuliertypen, zoals snel maken, snelle weergave en kaart, worden niet ondersteund.
Formulieren met een bedrijfsprocesstroom worden momenteel niet ondersteund in het hoofdtabelformulier of het gerelateerde tabelformulier. Als u een formulier hebt met een bedrijfsprocesstroom, kunt u onverwacht gedrag tegenkomen. We raden u aan om geen formulieronderdeel te gebruiken met een formulier dat een bedrijfsprocesstroom gebruikt.
Het besturingselement voor een formulieronderdeel ondersteunt geen ingesloten besturingselementen voor formulieronderdelen, zoals het toevoegen van een besturingselement voor een formulieronderdeel aan een formulier dat wordt gebruikt door een besturingselement voor een formulieronderdeel.
Het besturingselement voor het formuliercomponent ondersteunt geen ingesloten canvas-apps. Bij deze canvas-apps kunt u onverwacht gedrag tegenkomen.
Het formulieronderdeelbesturingselement geeft alleen het eerste tabblad weer van het formulier dat het gebruikt als er meerdere tabbladen in dat formulier zijn opgenomen.
Het gebruik van hetzelfde formulier voor verschillende besturingselementen voor formulieronderdelen op één formulier wordt niet ondersteund.
Het formulier dat u met een formuliercomponent gebruikt, moet in uw app zijn opgenomen. Als dit niet het geval is, of als de huidige gebruiker geen toegang heeft tot het formulier, zal het terugvallen op het bovenste hoofdformulier dat is opgenomen in de app en beschikbaar is voor de gebruiker (op basis van formuliervolgorde).
Alle componenten die door het formulier in een formuliercomponent worden gebruikt, moeten in uw app worden opgenomen. Deze onderdelen omvatten gerelateerde tabellen, weergaven en bedrijfsprocesstromen. Als dat niet het geval is, zijn ze niet beschikbaar in het formulier of kan er sprake zijn van onverwacht gedrag.
Besturingselementen voor formuliercomponenten hebben bepaalde beperkingen wanneer ze worden weergegeven in apps met meerdere sessies. Dynamisch toegevoegde handlers op het formuliercomponentformulier, zoals
addOnSave
ofaddOnChange
, worden mogelijk niet uitgevoerd na het wisselen tussen multisessietabbladen.Mogelijk merkt u dat het tijdlijnprikbord niet wordt bijgewerkt wanneer een kolom die wordt gebruikt om het tijdlijnprikbord in te stellen, is gewijzigd in het formulieronderdeel. Wanneer de pagina wordt vernieuwd, wordt het tijdlijnprikbord bijgewerkt zoals verwacht.
Op mobiele apparaten wordt het timeline-besturingselement momenteel niet weergegeven in het form component-besturingselement.
Voor subrasters zijn de opdrachtknoppen Alle records weergeven en Gekoppelde records weergeven niet beschikbaar als ze in een formuliercomponent worden weergegeven.
Form component-besturingselementen worden niet ondersteund in dialoogvensters voor bulkbewerking. Zij verschijnen standaard niet in het formulier in het dialoogvenster voor bulkbewerking en wijzigingen die in daarmee gerelateerde tabelrecords worden aangebracht, worden niet opgeslagen.
Wanneer er dubbele records worden gedetecteerd bij het opslaan van een besturingselement van een formuliercomponent, kunnen gebruikers de duplicaten mogelijk niet bekijken om conflicten op te lossen.
Zie ook
gebruik aangepaste besturingselementen voor modelgestuurde app-datavisualisaties