Използване на Power Fx с команди
Тази статия обхваща аспекти на Power Fx, които са специфични за командването. Могат да се използват и много други функции, които се използват днес в приложенията за платно. Имайте предвид, че има разлики, защото командването е за приложения, управлявани от модели.
- Поддържат се всички съществуващи функции за поток на данни. Какво представляват потоците от данни?
- Поддържат се императивни функции, които работят с данни.
- Поддържат се императивни функции за просто
Confirm
иNotify
. - За списък с функции, които не се поддържат, отидете на Функциите не се поддържат.
Бележка
Публикуването на команди на Power Fx може да отнеме няколко минути. Може да не е очевидно, че операциите във фонов режим все още се изпълняват дори след като изглежда, че операцията за публикуване е приключила. Може да се наложи да изчакате няколко минути след публикуването, след което да опресните приложението, за да видите промените си отразени. Това обикновено отнема повече време първия път Power Fx-базирана команда е публикувана за приложение.
OnSelect
Дефинира логиката, която се изпълнява, когато бутонът е избран в приложението.
Видим
Дефинира логика за скриване или показване на бутона при стартиране на приложението.
За да дефинирате логика на видимостта, изберете командата. След това изберете Видимост в десния панел със свойства на командата и изберете Показване при условие от формулата. Можете да изберете Видимо отляво на лентата за формули, след което да напишете Power Fx израз с помощта на лентата за формули.
Избрано свойство
Поле | Тип | Описание |
---|---|---|
Елемент | Запис на източника на данни | Един от записите, избран от източника на данни. |
AllItems | Таблица на записите от източника на данни | Всички от записите, избрани от източника на данни. |
Щат | Изброена стойност | Състояние на избрания контрол. Редактиране (=0), Ново (=1), Преглед (=2) |
Незаписано | Boolean | Връща true, ако Selected или SelectedItems имат незапазени промени. В противен случай връща false. Винаги връща false, ако AutoSave е зададено на true (опция по подразбиране) в библиотеката на командния компонент. |
- Свойството Избрано се предоставя от хоста на командата.
- Елемент и AllItems имената са донякъде съвместими с контролата ComboBox и контролата Gallery, но това е нов модел.
- Ако няма избран запис,Item · връща Blank (IsBlank връща true) и AllItems връща празна таблица (IsEmpty връща true).
- Нулев DataSource за референтни записи (полиморфни типове записи). Могат да се извикват общи функции, като например Записване или IsType/AsType.
- Елементът винаги е празен, ако SelectionMax <> 1. Това предотвратява записването на формули само до един елемент и не мащабиране до повече от един.
Автоматично записване
- Много JavaScript команди започват със запазване на буфера за формуляри. Това е така, защото улеснява работата с останалата част от кода.
- По подразбиране буферът за формуляри се запазва от името на производителя на приложения.
- Формулярът се записва преди започване на командата.
- Всички проблеми, възникнали по време на операцията по запазване, се решават в потребителския интерфейс на формуляра.
Функция Patch
Коригиране (актуализиране) на текущо избрания запис
Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})
Създаване на свързан запис
Бележка
Ако свързаната таблица все още не е в библиотеката на командния компонент, ще трябва да я отворите в canvas studio и да добавите източник на данни там.
Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})
Проверете и редактирайте свойство за дата
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)}))
Видимо свойство: Показвайте командата само ако е избран един или повече записи в изглед на мрежа
CountRows(Self.Selected.AllItems) > 0
Контролирайте видимостта въз основа на записани данни
//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20
Navigate
Бележка
За допълнителни опции вижте референцията на клиентския API за използване на JavaScript. Повече информация: navigateTo (справка за API на клиента)
Навигиране към персонализирана страница
За да навигирате до персонализирана страница с платно в рамките на управлявано от модел приложение, подайте името на страницата като първи аргумент.
Navigate( myCustomPage )
Придвижете се до изгледа по подразбиране на таблицата
За да преминете към изгледа по подразбиране на таблицата, изпратете името на таблицата като първи аргумент.
Navigate( Accounts )
Навигирайте до конкретен системен изглед на таблицата
За да се придвижите до конкретен системен изглед на таблицата, предайте изброяването Views
на таблицата.
Navigate( 'Accounts (Views)'.'My Active Accounts' )
Придвижете се до формуляра по подразбиране на таблицата
За да преминете към формуляра по подразбиране на таблицата, подайте записа като първи аргумент.
Navigate( Gallery1.Selected )
Придвижете се до формуляра по подразбиране на таблицата в режим на създаване
За да преминете към формата по подразбиране на таблицата, предайте Dataverse запис, създаден от функцията Defaults. Това отваря формуляра по подразбиране с записа като нов запис. Функцията Defaults взема името на таблицата, за да създаде записа.
Navigate( Defaults( Accounts ) )
Оптимизиране на потребителския опит с източник на данни и записване на информация
Използвайте функцията DataSourceInfo и функцията RecordInfo , за да оптимизирате потребителския опит с информация за данните, които се показват и манипулират.
Например, използвайте RecordInfo, за да определите дали текущият потребител има разрешение да променя запис и подходящо да показва или скрива бутон "Редактиране", като използва свойството си Видимо :
EditButton.Visible =
RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )
Например, използвайте DataSourceInfo, за да определите дали текущият потребител има разрешение да създава запис и подходящо да показва или скрива бутон "Създай", използвайки неговото свойство Видимо :
CreateButton.Visible =
DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )
Поискайте потвърждение, преди да предприемете действия
Използвайте функцията Потвърди , за да покажете диалогов прозорец в горната част на текущия екран.
Notify( Confirm( "Are you sure?",
{ ConfirmButton: "Yes", CancelButton: "No" }
)
)
Показва вярно известие, ако бутонът Да е натиснат, и известие невярно, ако е натиснат бутонът Не .
Уведомяване на потребителя
Известие може да се покаже на потребителите на приложението, като извикате Функция за уведомяване.
Бележка
NotificationType.Success
в момента не се поддържа и ще доведе до тип информационно известие.
Notify( "Model-driven app notification message" )
Други примери
Стартиране на URL адрес
Launch("https://www.bing.com");
Достъп до свойство 1:N
Self.Selected.Item.'Recurring Appointments'
Проверете свойството на свързан запис
Self.Selected.Item.'Parent Account'.'Account Name'="parent"
Функциите не се поддържат
Следните Power Fx функции в момента не се поддържат с команди в управлявани от модел приложения.
- Back()
- Clear()
- Collect()
- Копиране ()
- Disable()
- Enable()
- Exit()
- InvokeControl()
- Language()
- LoadData()
- Param()
- ReadNFC()
- RequestHide()
- ResetForm()
- Revert()
- SaveData()
- ScanBarcode()
- Set()
- SubmitForm()
- UpdateContext()
- User()
- ViewForm()
Не се поддържат номерирания
- Подравняване
- AlignInContainer
- BarcodeType
- BorderStyle
- Цвят
- Посока
- DisplayMode
- Шрифт
- FontWeight
- FormPattern
- GridStyle
- ImagePosition
- ImageRotation
- LabelPosition
- Оформление
- LayoutAlignItems
- LayoutDirection
- LayoutJustifyContent
- LayoutMode
- LayoutOverflow
- ListItemTemplate
- MapStyle
- Препълване
- PDFPasswordState
- PenMode
- RemoveFlags
- ScreenTransition
- TeamsTheme
- TextFormat
- TextMode
- TextPosition
- Теми
- Преход
- VerticalAlign
- VirtualKeyboardMode
- Мащабиране
Други неподдържани области
- Ускорение
- App
- Compass
- Connection
- Dataverse колони от типа на файла
- Среда
- Хост
- Оформление
- Местоположение
- ScreenSize
Вижте също
Обратна връзка
https://aka.ms/ContentUserFeedback.
Очаквайте скоро: През цялата 2024 г. постепенно ще отстраняваме проблемите в GitHub като механизъм за обратна връзка за съдържание и ще го заменим с нова система за обратна връзка. За повече информация вижте:Подаване и преглед на обратна връзка за