Tildel inndatafelt for en komponent
En komponent kan motta inndataverdier for å sende eller behandle data ved hjelp av egendefinerte inndataegenskaper. I denne artikkelen lærer du om hvordan du arbeider med slike komponenter som forventer én eller flere inndataegenskaper med et bestemt skjema for den angitte tabellen eller oppføringen, og hvordan du tilordner komponentinnskrivingsfeltene til kolonnene i datakilden.
Tips
Hvis du vil vite mer om hvilke egendefinerte inndata- og utdataegenskaper som finnes i komponentene, kan du se Egendefinerte egenskaper i komponenter.
Tilordne kolonner
Bruk RenameColumns()-funksjonen til å gi nytt navn til én eller flere kolonner i en tabell slik at det samsvarer med inndataegenskapsskjemaet for valg av inndatakolonne.
Vurder for eksempel en komponent som forventer en tabellinndata med følgende format:
Flavor | UnitPrice | QuantitySold |
---|---|---|
Strawberry | 1.99 | 20 |
Chocolate | 2.99 | 45 |
Inndataegenskapen forventer tabelldatatype:
Skjemaet for inndataegenskapen ser ut som følgende formel:
Table({Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold:20})
Appen som bruker denne komponenten, har følgende IceCreams-tabell som ikke samsvarer med komponentskjemaet:
FlavorName | Pris | SaleNumber |
---|---|---|
Strawberry | 1.99 | 20 |
Chocolate | 2.99 | 45 |
Hvis du vil tilordne riktige felt, bruker du RenameColumn()-funksjonen til å gi nytt navn til forventede kolonner.
RenameColumns(IceCreams,"cra56_flavorname","Flavor","cra56_price","UnitPrice","cra56_salenumber","QuantitySold")
Inndatafeltene som komponenten forventer, er nå tilordnet med de samsvarende kolonnene fra datakilden.
Tilordne oppføringer
Bruk With()-funksjonen til å tilordne en enkelt oppføring.
Hvis du for eksempel fortsetter fra det tidligere eksemplet for tilordning av kolonner, forventer den egendefinerte inndataegenskapen for en komponent i en app en oppføringstype med følgende skjema:
{Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold: 20}
Siden IceCreams-datakilden forventer kolonnenavn som FlavorName, Price og SaleNumber, må vi endre tilordningen for oppføringen når komponenten er lagt til i appen.
Bruk With()-funksjonen til å velge kolonnene i IceCreams-tabellen, og tilordne dem til inndatafeltene for komponenten:
With(Gallery3.Selected,{Flavor:FlavorName,UnitPrice:Price,QuantitySold:SaleNumber})
Følgende animasjon viser eksempelet på en komponent som legges til i appen som viser den valgte oppføringen fra galleriet (over komponenten):
Tilordne tabeller
Bruk ForAll()-funksjonen til å tilordne en tabell med oppføringer med oppføringene som forventes av komponenten som er lagt til i appen.
På slutten av tilordne kolonner-eksemplet kan du for eksempel bruke ForAll()-funksjonen til å tilordne hele tabellen til de bestemte kolonnene slik at de peker på feltene fra komponenten for hver rad:
ForAll(IceCreams,{Flavor:FlavorName,UnitPrice:Price,QuantitySold:SaleNumber})
Tilordne ved hjelp av rullegardinmenyen (avskrevet)
Du kan bruke kategorien Avansert for en komponent som legges til en app som forventer inndataegenskap for tabell eller oppføringstype, og velge felttilordningene ved hjelp av rullegardinmenyen. Denne tilordningen tilordnes som standard, og med mindre du velger de riktige tilordningsfeltene manuelt, er det ikke sikkert at tilordningen gir forventede resultater.
Følgende animasjon viser for eksempel at formelen oppdateres for å gi nytt navn til kolonner. Komponenten på skjermen endrer ikke felttilordningen fordi standardfeltvalget som brukes i denne rullegardinmenyen, må oppdateres manuelt.
Denne metoden for valg av tilordning med rullegardinmenyen er avskrevet. Bruk i stedet metodene for kolonne-, oppførings- eller tabell-tilordning slik det er beskrevet tidligere i denne artikkelen.
Du kan fremdeles bruke rullegardinmenyen til å velge tilordning for eksisterende apper, men dette anbefales ikke. For nye apper er ikke dette alternativet tilgjengelig som standard. Hvis du vil aktivere eller deaktivere denne avskrevne funksjonen, går du Innstillinger > Kommende funksjoner > Avviklet, og velger Tillat automatisk felttilordning for komponentinndata.
Når du slår på innstillingen, må du sørge for at du lagrer og åpner appen på nytt i Power Apps Studio. Deretter oppdaterer du inndataegenskapsformelen for å utsløse formelvalideringen, slik at alternativene for rullegardinmenyen begynner å vises i egenskapsruten Avansert.
Se også
- Virkemåteformler for komponenter
- Avskrevet: Tilordne komponentfelt med rullegardinmenyen
- Lerretskomponenter
- Komponentbibliotek
- Administrasjon av programlivssyklus for komponentbibliotek (ALM)
- Legg til multimedier i en komponent
- Virkemåteformler for komponenter
- Power Apps component framework
- Legg til lerretskomponenter på en egendefinert side i en modelldrevet app