Mappa indatafält för en komponent

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:

Anpassad egenskap input förväntar sig tabelldatatyp.

Schemat för indataegenskapen ser ut som följande formel:

Table({Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold:20})

Formel för anpassad indataegenskap definierad som tabell- och exempelvärden.

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

Schema för tabellen IceCreams.

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")

App med hjälp av komponent som använder anpassad indataegenskapsmappning med rätt kolumner med hjälp av funktionen RenameColumns.

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}

Anpassad egenskap för indata som definieras som post- och exempelvärden.

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})

Komponentpost i appen som är mappad till datakällans schema.

Följande animering visar exemplet på en komponent som lagts till i appen som visar den valda posten från galleriet (ovanför komponenten):

En bild som visar val av en post från galleriet ovan som ändrar texten för komponentinstansen nedan.

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 tabell med hjälp av funktionen ForAll() för alla poster.

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.

Inaktuell metod för att välja fältmappning med hjälp av listrutan i avsnittet avancerad egenskap för en komponent som läggs till i en app.

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.

Tillåt automatisk fälttilldelning för inställning av 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