Как динамически передать свойство DisplayName столбца Person в функцию SortByColumns в PowerApps - PullRequest
1 голос
/ 14 марта 2019

Я весь день пытаюсь найти решение для следующей проблемы:

SortByColumns(Filter(LogisticsHelpdesk,And(If(Dropdown1.Selected.Value="All",(Status.Value="Open" || Status.Value="Closed"), (Status.Value=Dropdown1.Selected.Value)),StartsWith(Text(ID), SearchBox.Text))),SortField, sortOrder)

где SortField и sortOrder являются переменными, установленными следующим образом:

UpdateContext({SortOrignatorDescending: !SortOrignatorDescending, SortField: "Originator"});Set(sortOrder, If(SortOrignatorDescending, Descending, Ascending))

Переменная обновляется в трех местах, одна с колонкой Заголовок, две другие с колонками Персона. Для столбца Заголовок приведенный выше код работает нормально, но для столбца Персона не работает.

Я обнаружил, что проблема заключается в том, что функции SortByColumns и Sort не знают, по какому свойству сортировать столбец Person. Любая идея, как динамически предоставлять имя столбца вместе со свойством DisplayName для функций Sort / SortByColumns?

До сих пор я тестировал передачу свойства DisplayName с именем столбца в виде строки:

UpdateContext({SortAllocatedToDescending: !SortAllocatedToDescending, SortField:"AllocatedTo.DisplayName"});Set(sortOrder, If(SortAllocatedToDescending, Descending, Ascending))

и попытался установить переменную для самого столбца:

UpdateContext({SortAllocatedToDescending: !SortAllocatedToDescending, SortField:AllocatedTo});Set(sortOrder, If(SortAllocatedToDescending, Descending, Ascending))

Но в конструкторе возникла ошибка из-за несовместимого типа. Я предполагаю, что столбцы не могут быть напрямую переданы через переменные.

Также пытался использовать обе функции (Sort и SortByColumns) взаимозаменяемо, но безрезультатно.

Основной целью является одновременная сортировка, фильтрация и поиск определенной строки по нескольким столбцам, а также простота добавления большего числа критериев / столбцов в формулу без добавления одного и того же оператора несколько раз.

Заранее благодарю за любую помощь, которую вы можете оказать.

...