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
ogNotify
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
Naviger
Obs!
Hvis du vil ha flere alternativer, kan du se klientens API-referanse for å bruke JavaScript. Mer informasjon: navigateTo (referanse for klient-API)
Navigere til en egendefinert side
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