Powerapps — использование переключателя с целочисленными данными

#powerapps #powerapps-formula

#powerapps #powerapps-формула

Вопрос:

Я ОЧЕНЬ новичок в Powerapps.

Мои данные имеют целочисленные значения, которые используются для 0 или 1 (никаких других значений.)

Тумблеру требуется двоичное значение.

Как я могу преобразовать чтение и запись в двоичный файл, чтобы иметь возможность работать с этим типом данных? Ищу какой-то тип функции преобразования.

Ответ №1:

Это зависит от того, находится ли переключатель внутри или снаружи галереи.

Вот пример внешнего:

  1. Установите Default свойство элемента управления переключением на:

(Показан длинный код)

 If(
    glrSampleData.Selected.dataValue = 0, false,
    glrSampleData.Selected.dataValue = 1, true
)
 

Есть некоторые элементы очистки, которые вы также хотели бы включить здесь.

Пример:

  • Что происходит при первой инициализации галереи?
  • В каком состоянии должен находиться переключатель?
    • Поскольку для этого элемента управления нет третьего логического состояния, я счел лучшим просто скрыть его от пользователя.
    • В этом случае значение переключателя по умолчанию будет false равно, Поэтому вы захотите запретить отправку любого сбора данных и т. Д. Если значение не было явно задано пользователем.

Чтобы скрыть элемент управления переключением, если в галерее нет выбранной записи:

  1. Установите OnStart для свойства элемента управления приложения значение:
 Set(varResetGallery, {});
Set(varResetGallery, Blank());
Set(varResetGallery, {})
 
  1. Установите Visible свойство элемента управления переключением на:

(Снова показан длинный код)

 If(
    IsBlank(glrSampleData.Selected), 
    false, 
    true
)
 

Пример в действии:
введите описание изображения здесь

Комментарии:

1. Я многому научился из обоих этих ответов. Просто хотел выразить свою благодарность. Я использую комбинацию обоих сообщений.

2. Отлично! Бонус переключения # 3 здесь … обязательно разместите логику переключения OnSelect , а не OnChange как обычно с другими типами элементов управления (выпадающие списки, текстовые поля и т. Д.). Причина в том, что переключение может происходить Change при загрузке экрана! Это может привести к ошибочному выполнению кода. (Усвоил это трудным, трудным путем :))

3. Что вы имеете в виду под «отображением длинного кода формы»?

4. Поскольку OP является очень новым для PowerApps, я выписал весь код вместо краткой формы. Пример: это If( glrSampleData.Selected.dataValue = 0, false, glrSampleData.Selected.dataValue = 1, true ) можно было бы записать как If( glrSampleData.Selected.dataValue = 0, false, true )

Ответ №2:

Вам нужно изменить значение по умолчанию для элемента управления переключением, и вам нужно убедиться, что для элемента управления числом устанавливается правильное значение при изменении элемента управления переключением в форме.

Например, если вы работаете с элементами списка в пользовательской форме SharePoint, вы можете добавить элемент управления переключением в карточку для поля SharePoint. Давайте назовем это «FirstToggle». Затем установите значение по умолчанию для этого элемента управления переключением в формулу, например

ThisItem.myIntegerField = 1

Это вернет TRUE или FALSE и переключит переключатель.

Далее вам нужно записать состояние переключателя обратно в элемент управления числом. Значение по умолчанию для элемента управления числом тогда

 If(FirstToggle.Value,1,0)
 

Если вы используете другой сценарий, другой источник данных, галерею и т. Д., Принцип тот же: загрузите значение переключателя по умолчанию из значения сохраненных данных с формулой, с которой сравнивается значение 1 . Установите значение по умолчанию для поля данных, оценив состояние переключателя.

введите описание изображения здесь

Комментарии:

1. Спасибо! собираюсь попробовать это в ближайшее время.