Del via


Bruk Power Fx med kommandoer

Denne artikkelen tar for seg aspekter ved Power Fx som spesifikt gjelder kommandoer. Mange andre funksjoner som er i bruk i dag i lerretsapper, kan også brukes. Husk at det er forskjeller siden kommandoer er for modelldrevne apper.

  • Alle eksisterende dataflytfunksjoner støttes. Hva er dataflyter?
  • Imperative funksjoner som fungerer med data, støttes.
  • Imperative funksjoner for enkel Confirm og Notify støttes.
  • Hvis du vil se en liste over funksjoner som ikke støttes, går du til Funksjoner som ikke støttes.

Obs!

Det kan ta noen minutter å publisere Power Fx-kommandoer. Det er kanskje ikke tydelig at bakgrunnsoperasjoner fortsatt kjører selv etter at publiseringsoperasjonen ser ut til å være fullført. Du må kanskje vente noen minutter etter publiseringen og deretter oppdatere appen for å se endringene gjenspeilet. Dette tar vanligvis lengre tid første gang en Power Fx-basert kommando publiseres for en app.

OnSelect

Definerer logikken som kjøres når knappen velges i appen.

Visible

Definerer logikken for å skjule eller vise knappen når appen kjører.

Velg kommandoen for å definere synlighetslogikken. Velg deretter Visibility i høyre rute for kommandoegenskaper, og velg Vis på betingelse fra formel. Du kan velge Visible til venstre for formellinjen og deretter skrive et Power Fx-uttrykk ved hjelp av formellinjen.

Valgt egenskap

Felt Type Beskrivelse
Item Oppføring for DataSource En av oppføringene som er valgt fra DataSource.
AllItems Tabell for oppføringer fra DataSource Alle oppføringene som er valgt fra DataSource.
State Opplisting Tilstanden til den valgte kontrollen. Rediger (=0), Ny (=1), Vis (=2)
Unsaved Boolsk Returnerer true hvis Selected eller SelectedItems har ulagrede endringer. Ellers returneres false. Returnerer alltid false hvis true (standardalternativet) er angitt for AutoSave i kommandokomponentbiblioteket.
  • Egenskapen Selected kommer fra verten for kommandoen.
  • Navnene Item og AllItems er litt konsekvente med ComboBox-kontrollen og Galleri-kontrollen, men dette er et nytt mønster.
  • Hvis ingen oppføring er valgt, returnerer Item Blank (IsBlank returnerer true) og AllItems returnerer en tom tabell (IsEmpty returnerer true).
  • Null DataSource for oppføringsreferanser (polymorfe oppføringstyper). Generiske funksjoner kan kalles opp, for eksempel kan Save eller IsType/AsType brukes.
  • Item er alltid tomt hvis SelectionMax <> 1. Dette forhindrer at formler bare skrives til ett element og ikke skaleres til flere.

AutoSave

  • Mange JavaScript-kommandoer begynner med lagring av skjemabufferen. Årsaken er at det blir enklere å arbeide med resten av koden.
  • Skjemabufferen lagres som standard på vegne av apputvikleren.
    • Skjemaet lagres før kommandoen startes.
    • Eventuelle problemer som oppstår under lagringen, behandles i brukergrensesnittet for skjemaet.

Patch-funksjonen

Patch (oppdater) den valgte oppføringen

Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})

Opprette en relatert oppføring

Obs!

Hvis den relaterte tabellen ikke allerede finnes i kommandokomponentbiblioteket, må du åpne den i Canvas Studio og legge til datakilden der.

Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})

Kontrollere og redigere en datoegenskap

If(Self.Selected.Item.'Last Date Included in Campaign'>DateAdd(Now(),-3), Patch(Accounts,Self.Selected.Item,{'Last Date Included in Campaign':Date(2021,10,19)}))

Synlig egenskap: Bare vis kommandoen hvis én eller flere oppføringer er valgt i en rutenettvisning

CountRows(Self.Selected.AllItems) > 0

Kontrollere synlighet basert på oppføringsdata

//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20

Obs!

Hvis du vil ha flere alternativer, kan du se klientens API-referanse for å bruke JavaScript. Mer informasjon: navigateTo (referanse for klient-API)

Hvis du vil navigere til en egendefinert lerretsside i en modelldrevet app, sender du sidenavnet som det første argumentet.

Navigate( myCustomPage )

Gå til standardvisningen for tabellen

Hvis du vil gå til standardvisningen for tabellen, sender du tabellnavnet som første argument.

Navigate( Accounts )

Gå til bestemt systemvisning for tabellen

Du kan gå til en bestemt systemvisning for tabellen ved å sende Views-opplistingen for tabellen.

Navigate( 'Accounts (Views)'.'My Active Accounts' )

Gå til standardskjemaet for tabellen

Du kan gå til standardskjemaet for tabellen ved å sende oppføringen som første argument.

Navigate( Gallery1.Selected )

Gå til standardskjemaet for tabellen i opprettingsmodus

Du kan navigere til standardskjemaet for tabellen, ved å sende en Dataverse-oppføring opprettet fra Defaults-funksjonen. Dette åpner standardskjemaet med oppføringen som en ny oppføring. Defaults-funksjonen bruker tabellnavnet til å opprette oppføringen.

Navigate( Defaults( Accounts ) )

Optimalisere brukeropplevelsen med datakilde- og oppføringsinformasjon

Bruk DataSourceInfo- funksjonen og RecordInfo-funksjonen til å optimalisere brukeropplevelsen med informasjon om dataene som vises og endres.

Bruk for eksempel RecordInfo til å avgjøre om gjeldende bruker har tillatelse til å endre en oppføring og vise eller skjule en "Rediger"-knapp med egenskapen Visible:

EditButton.Visible = 
   RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )

Bruk for eksempel DataSourceInfo til å fastsette om gjeldende bruker har tillatelse til å opprette en oppføring og vise eller skjule en Opprett-knapp ved hjelp av egenskapen Visible:

CreateButton.Visible = 
   DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )

Be om bekreftelse før handling

Bruk Confirm-funksjonen til å vise en dialogboks over gjeldende skjerm.

Notify( Confirm( "Are you sure?", 
                 { ConfirmButton: "Yes", CancelButton: "No" } 
        ) 
)

Viser varslingen true hvis Ja-knappen trykkes, og varslingen false hvis Nei-knappen trykkes.

Varsle brukeren

En varsling kan vises til appbrukere ved å kalle opp Notify-funksjonen.

Obs!

NotificationType.Success støttes ikke for øyeblikket, og det vil føre til en informasjonsvarslingstype.

Notify( "Model-driven app notification message" )

Andre eksempler

Bruke Launch for en nettadresse

Launch("https://www.bing.com");

Tilgang til egenskap for 1:N

Self.Selected.Item.'Recurring Appointments'

Kontrollere egenskapen for en relatert oppføring

Self.Selected.Item.'Parent Account'.'Account Name'="parent"

Funksjoner som ikke støttes

Følgende Power Fx-funksjoner støttes for øyeblikket ikke med kommandoer i modelldrevne apper.

  • Back()
  • Clear()
  • Collect()
  • Copy()
  • Disable()
  • Enable()
  • Exit()
  • InvokeControl()
  • Language()
  • LoadData()
  • Param()
  • Skrive ut()
  • ReadNFC()
  • RequestHide()
  • ResetForm()
  • Revert()
  • SaveData()
  • ScanBarcode()
  • Set()
  • SubmitForm()
  • UpdateContext()
  • User()
  • ViewForm()

Opplistinger som ikke støttes

  • Align
  • AlignInContainer
  • BarcodeType
  • BorderStyle
  • Color
  • Direction
  • DisplayMode
  • Font
  • FontWeight
  • FormPattern
  • GridStyle
  • ImagePosition
  • ImageRotation
  • LabelPosition
  • Layout
  • LayoutAlignItems
  • LayoutDirection
  • LayoutJustifyContent
  • LayoutMode
  • LayoutOverflow
  • ListItemTemplate
  • MapStyle
  • Overflow
  • PDFPasswordState
  • PenMode
  • RemoveFlags
  • ScreenTransition
  • TeamsTheme
  • TextFormat
  • TextMode
  • TextPosition
  • Themes
  • Transition
  • VerticalAlign
  • VirtualKeyboardMode
  • Zoom

Andre områder som ikke støttes

  • Acceleration
  • App
  • Compass
  • Connection
  • Kolonner for Dataverse-filtype
  • Environment
  • Host
  • Layout
  • Plassering
  • ScreenSize

Se også

Forstå virkemåteformler

Formelreferanse

Oversikt over Power Fx