Mappa indatafält för en komponent
En komponent kan ta emot indatavärden till inmatnings- eller processdata med anpassade indataegenskaper. I den här artikeln lär du dig hur du arbetar med sådana komponenter och förväntar dig en eller flera indataegenskaper med ett visst schema för den angivna tabellen eller posten, och hur du mappar komponentindatafälten till kolumnerna i datakälla.
Tips
Information om vilka egenskaper för anpassade indata och utdata i komponenter är finns i Anpassade egenskaper i komponenter.
Mappa kolumner
Använd funktionen RenameColumns() om du vill byta namn på en eller flera kolumner i en tabell så att den matchar schemat för indataegenskap för val av indatakolumn.
Tänk till exempel på en komponent som förväntar sig en tabellindata med följande format:
Smak | UnitPrice | QuantitySold |
---|---|---|
Jordgubb | 1.99 | 20 |
Choklad | 2.99 | 45 |
Egenskapen input förväntar sig tabelldatatyp:
Schemat för egenskapen input ser ut så här:
Table({Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold:20})
Appen som använder den här komponenten har följande tabell IceCreams som inte överensstämmer med komponentschemat:
FlavorName | Pris | SaleNumber |
---|---|---|
Jordgubb | 1.99 | 20 |
Choklad | 2.99 | 45 |
Om du vill mappa rätt fält använder du funktionen RenameColumn() för att byta namn på förväntade kolumner.
RenameColumns(IceCreams,"cra56_flavorname","Flavor","cra56_price","UnitPrice","cra56_salenumber","QuantitySold")
De indatafält som förväntas av komponenten mappas nu till de matchande kolumnerna från datakälla.
Mappa poster
Använd funktionen With() för att mappa en enskild post.
Om du t.ex. fortsätter från det tidigare exemplet med att mappa kolumner förväntar sig den anpassade indataegenskapen för en komponent i ett program en posttyp med följande schema:
{Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold: 20}
Eftersom datakällan IceCreams förväntar sig kolumnnamn som FlavorName, Price och SaleNumber, måste vi ändra mappningen för posten när komponenten har lagts till i programmet.
Använd funktionen With() för att välja kolumnerna i tabellen IceCreams och mappa dem till komponentens indatafält:
With(Gallery3.Selected,{Flavor:FlavorName,UnitPrice:Price,QuantitySold:SaleNumber})
I följande avsnitt visas exemplet på en komponent som har lagts till i programmet och som visar den valda posten från galleriet (ovanför komponenten):
Mappa tabeller
Använd funktionen ForAll() för att mappa en tabell med poster med de poster som förväntas av komponenten som lagts till i programmet.
Till exempel i slutet av exemplet mappa kolumner kan du använda funktionen ForAll() för att mappa hela tabellen med de specifika kolumnerna för att peka på fälten från komponenten för varje rad:
ForAll(IceCreams,{Flavor:FlavorName,UnitPrice:Price,QuantitySold:SaleNumber})
Mappa med listrutan (inaktuell)
Du kan använda fliken Avancerat för en komponent som lagts till i ett program som förväntar sig en indataegenskap för tabell eller posttyp, och välja fältmappningarna med hjälp av listrutan. Den här mappningen tilldelas som standard och om du inte manuellt väljer lämpliga mappningsfält kanske mappningen inte ger förväntade resultat.
I följande avsnitt visas till exempel formeln som uppdateras för att byta namn på kolumner. Komponenten på skärmen ändrar inte fältmappningen eftersom standardfältets val med den här listrutan måste uppdateras manuellt.
Den här metoden för att välja mappning med listrutan blivit inaktuell. Använd i stället metoderna kolumn, post eller tabell mappningsmetoder som beskrivits tidigare i den här artikeln.
Du kan fortfarande använda listrutan för att välja mappning för befintliga program, men rekommenderas inte. För nya program är det här alternativet inte tillgängligt som standard. För att aktivera eller inaktivera denna föråldrade funktion, gå till Inställningar > Kommande funktioner > Indragen och välj Tillåt automatisk fälttilldelning för komponentindata.
När du stänger av inställningen ser du till att spara och öppna programmet på nytt i Power Apps Studio. När du har öppnat den på nytt uppdaterar du indataegenskapsformelet så att formelvalideringen utlöses så att listreringsalternativen börjar visas i rutan Avancerade egenskaper.
Se även
- Funktionsformler för komponenter
- Inaktuell: Mappa komponentfält med listrutan
- Arbetsytans komponenter
- Komponentbibliotek
- Komponentbibliotek program livcykelhantering (ALM)
- Lägg till multimedia till en komponent
- Funktionsformler för komponenter
- Power Apps component framework
- Lägg till arbetsytekomponenter till en anpassad sida i ett modellbaserat program.