Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En komponent kan ta emot indatavärden för att generera eller bearbeta data med hjälp av anpassade indataegenskaper. I den här artikeln får du lära dig mer om att arbeta med sådana komponenter som förväntar sig en eller flera indataegenskaper med ett specifikt schema för den angivna tabellen eller posten och hur du mappar komponentens indatafält till datakällans kolumner.
Tips/Råd
Mer information om vad de anpassade indata- och utdataegenskaperna i komponenter är finns i Anpassade egenskaper i komponenter.
Mappa kolumner
Använd funktionen RenameColumns() för att byta namn på en eller flera kolumner i en tabell för att matcha indataegenskapsschemat för markering av indatakolumner.
Tänk dig till exempel en komponent som förväntar sig en tabellinmatning med följande format:
| Smak | Enhetspris | QuantitySold |
|---|---|---|
| Jordgubbe | 1.99 | 20 |
| Choklad | 2.99 | 45 |
Indataegenskapen förväntar sig tabelldatatyp:
Schemat för indataegenskapen ser ut som följande formel:
Table({Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold:20})
Appen som använder den här komponenten har följande IceCreams-tabell som inte matchar komponentschemat:
| FlavorName | Pris | SaleNumber |
|---|---|---|
| Jordgubbe | 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 komponenten förväntar sig mappas nu med matchande kolumner från datakällan.
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 följande kolumnnamn: FlavorName, Price och SaleNumber måste vi ändra mappningen av posten när komponenten läggs till i appen.
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})
Följande animering visar exemplet på en komponent som lagts till i appen som visar den valda posten från galleriet (ovanför komponenten):
Kartlägga tabeller
Använd funktionen ForAll() för att mappa en tabell med poster med de poster som förväntas av komponenten som läggs till i appen.
I slutet av kartkolumnexemplet kan du till exempel 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 väljer lämpliga mappningsfält manuellt kanske mappningen inte ger förväntade resultat.
Följande animering visar till exempel formeln som uppdateras för att byta namn på kolumner. Komponenten på skärmen ändrar inte fältmappningen eftersom standardfältvalet med den här listrutan måste uppdateras manuellt.
Den här metoden för att välja mappning med listrutan har blivit inaktuell. Använd i stället metoderna för kolumn-, post- eller tabellmappning enligt beskrivningen tidigare i den här artikeln.
Du kan fortfarande använda listrutealternativet för att välja mappning för befintliga appar, men rekommenderas inte. För nya appar är det här alternativet inte tillgängligt som standard. Om du vill aktivera eller inaktivera den här inaktuella funktionen går du till Inställningar>Kommande funktioner har dragits>tillbaka och väljer Tillåt automatisk fälttilldelning för komponentindata.
När du aktiverar inställningen ska du spara och öppna appen igen i Power Apps Studio. När formeln för indataegenskapen öppnas igen, uppdatera den för att utlösa formelverifiering så att listrutealternativen börjar visas i fönstret Avancerade egenskaper.
Se även
- Beteendeformler för komponenter
- Inaktuell: Mappa komponentfält med listrutealternativ
- Arbetsytans komponenter
- Komponentbibliotek
- Hantering av programlivscykel för komponentbibliotek (ALM)
- Lägga till multimedia i en komponent
- Beteendeformler för komponenter
- Power Apps-komponentramverk
- Lägga till arbetsytekomponenter på en anpassad sida i en modelldriven app