Dela via


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:

Anpassad egenskap input förväntar sig tabelldatatyp.

Schemat för egenskapen input ser ut så här:

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

Anpassad egenskap input som definieras som tabell- och exempelvärden.

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

Schema för IceCreams-tabell

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

Program med komponent som använder anpassad egenskapsmappning för indata med rätt kolumner med hjälp av RenameColumns-funktionen.

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}

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

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

Komponentpost i programmet mappad till datakällaschema.

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

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

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 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 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.

Används inte längre för att välja fältmappning med listrutan i avsnittet avancerad egenskap för en komponent som har lagts till i ett program.

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.

Inställningen 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