Общие сведения о картах данных в приложениях на основе холста

В этой статье объясняется, что такое карточка данных, как изменить элемент управления, с помощью которого пользователи вводят данные, когда разблокировать карточку данных и как форма сохраняет изменения обратно в Dataverse.

Карточки данных — это стандартные блоки форм Power Apps. Каждая карточка данных отображает и собирает значение для одного поля, например "Имя", "Название задания" или "Номер телефона".

На следующем снимке экрана показана форма с выбранной карточкой данных для названия учетной записи.

Снимок экрана: форма с выбранной карточкой данных

В форме отображения отображается одна запись. Формы редактирования позволяют пользователям обновлять существующую запись или создавать новую. В любой форме каждая карточка данных подключена к одному полю (одному столбцу) в источнике данных— часто таблице Dataverse.

Карточка данных — это контейнер, включающий метку поля, требуемое поведение проверки и элемент управления, с которыми взаимодействуют пользователи. Карточка данных содержит следующее:

  • Обязательный индикатор (звездочка или звезда): показывает, что поле должно иметь значение.
  • Заголовок: метка, отображаемая пользователями для поля.
  • Значение карточки данных: входной элемент управления (например, текстовое поле или раскрывающийся список), где пользователи вводят или редактируют значение.
  • Сообщение об ошибке: отображает ошибки проверки, обычно после отправки формы.

Предпосылки

Если вы не знакомы с формами, начните с чтения add-form.md и working-with-forms.md.

Настройка карточки

Карточка данных содержит элементы управления, которые пользователи видят— обычно метка, например название, входной элемент управления, например ввод текста или раскрывающийся список, а также метка сообщения об ошибке. Чтобы настроить внешний вид поля, выберите элемент управления внутри карточки, например текстовый ввод и настройте его размер, положение или свойства.

Изменение порядка полей в форме

Power Apps предлагает предопределенные карточки для строк, чисел и других типов данных. Вы редактируете форму и изменяете поля, позволяя изменять макет без разблокировки карточек.

  1. Откройте приложение для редактирования в Power Apps Studio.

  2. Выберите форму и выберите поля.

  3. Выберите «Дополнительные действия», а затем «Переместить вверх» или «Переместить вниз». Вы также можете выбрать и перетащить поля в нужный порядок.

    Снимок экрана: изменение полей в форме

Измените тип управления карточки

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

  1. Откройте приложение для редактирования в Power Apps Studio.

  2. Выберите форму и выберите поля.

  3. Выберите "Развернуть сведения о поле ", которое является стрелкой вниз рядом с полем, которое требуется изменить.

  4. Выберите раскрывающийся список для типа элемента управления и выберите другой тип элемента управления. Например, переключение с редактирования текста на изменение многострочного текста.

    Снимок экрана: как изменить тип элемента управления карточки

Изменение размера карточки

Элементы управления можно перемещать и изменять размер в заблокированной карточке.

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

  1. В форме выберите карточку данных, размер которой нужно изменить, например, имя учетной записи.

  2. Переместить поле для ввода текста в пределах карточки можно путем перетаскивания, а изменить его размер можно с помощью ручек. Это повышает интервалы и удобочитаемость без разблокировки карточки.

    Снимок экрана: выбор карточки и изменение размера поля в карточке

Разблокировка карточки

Для внесения изменений, таких как удаление элемента управления или добавление нового элемента управления, требуется разблокировка карточки.

При добавлении поля в форму Power Apps создает карточку данных для вас и настраивает основные формулы, которые подключают карточку к источнику данных. По умолчанию Power Apps блокирует эти карты, чтобы не случайно разорвать это подключение. Если вам нужен дополнительный элемент управления, например пользовательский макет, дополнительные элементы управления или различные формулы, можно разблокировать карточку.

На следующем снимка экрана показана форма с заблокированной карточкой данных.

Скриншот вкладки

Параметр ключа — DataField. Он сообщает Power Apps, за какое поле (столбец) отвечает эта карточка. При отправке формы Power Apps использует значение поля данных карты DataField, чтобы определить, какое поле необходимо обновить.

  1. Чтобы разблокировать карточку, выберите карту

  2. В области "Свойства" выберите "Дополнительно".

  3. Щелкните значок блокировки или выберите "Разблокировать", чтобы изменить свойства, чтобы разблокировать такие свойства, как DataField, DisplayName или Required.

  4. После разблокировки карточки измените созданные формулы и добавьте или удалите элементы управления внутри карточки.

    Заблокированные свойства Разблокированные свойства
    Снимок экрана: заблокированные свойства на карточке данных Снимок экрана: разблокированные свойства на карточке данных

Теперь вы берете на себя контроль над этой картой и можете изменить ее дальше в соответствии с вашими потребностями. Но вы теряете возможность изменять карточку с одного представления на другое (например, однострочный текст на многострочный текст), как и раньше. Вы преобразовали предопределенную карточку в пользовательскую карточку, которую теперь вы контролируете.

Это важно

После разблокировки карты невозможно снова ее заблокировать. Чтобы заблокировать карточку, удалите ее и снова вставьте в области справа.

Взаимодействие с формой

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

Форму редактирования удобно представлять себе следующим образом: данные движутся внутрь для отображения текущей записи (значений по умолчанию) и данные движутся наружу при отправке обновлений формы. Карточка находится в центре - её свойства указывают форме, какое поле она представляет и какое значение должно быть сохранено.

Свойство DataField

Свойство DataField карточки — это параметр "эта карточка редактирует это поле". Он помогает Power Apps решить, что необходимо проверить, какое значение необходимо, и какое поле следует обновить при отправке формы.

Поступающие сведения

Когда форма отображает запись, она предоставляет эту запись как ThisItem. Подумайте о ThisItem как текущей строке, которую вы редактируем. Он содержит все поля данной записи.

В формах на основе Dataverse DataField карточки обычно соответствует логическому имени поля. Формула по умолчанию карточки обычно ссылается на текущую запись, например ThisItem.FieldName, и входной элемент управления внутри карточки обычно считывает это значение через Parent.Default. Этот шаблон сохраняет независимость управляющего элемента ввода от источника данных и позволяет карточке инкапсулировать процесс поступления значения поля.

Большинство карточек задают для свойства Default значение текущей записи, например ThisItem.FieldName. При необходимости можно преобразовать это значение, например формат текста, прежде чем он отображается во входных данных.

Внутри карточки управляющий элемент ввода обычно использует Parent.Default, чтобы всегда отображалось то значение, которое предоставляет карточка. Такой подход позволяет карточке оставаться "автономной". Если вы позже измените формулу по умолчанию карты, вам не нужно переписать формулы внутри карточки.

По умолчанию метаданные источника данных задают свойства DefaultValue и controls/control-card.md на основе свойства controls/control-card.md . Эти формулы можно переопределить с помощью функции function/function-datasourceinfo.md для интеграции метаданных источника данных.

Исходящие данные

Когда пользователь выбирает "Сохранить", это обычно вызывает SubmitForm. Форма собирает значения из каждой карточки данных и записывает их обратно в источник данных. В нем используется DataField каждой карточки, чтобы определить, какое поле нужно обновить.

Чтобы сохранить изменения из формы редактирования, активируйте SubmitForm(FormName) (например, из кнопки "Сохранить "). Если вы хотите очистить входные данные после успешной отправки, выполните инструкцию ResetForm(FormName). Чтобы создать новую запись вместо редактирования существующей, задайте свойству DefaultMode формы значение FormMode.New , прежде чем пользователь начнет вводить данные.

Форма также считывает свойство Update каждой карточки — это значение, которое сохраняется для этого поля. Если необходимо очистить значение перед сохранением, например удалить дополнительные пробелы, преобразовать текст в число или отменить изменение форматирования, которое вы сделали по умолчанию, обновление обычно подходит для этого.

Valid в основном означает "можно ли отправить это поле?" Power Apps использует правила источника данных и настройку карты Required, чтобы принять решение. Если значение недопустимо, свойство error карточки содержит сообщение, которое можно отобразить пользователю, часто с помощью метки сообщения об ошибке в карточке.

Если dataField карточки пуста, карточка не привязана к любому полю - это просто контейнер, который можно использовать для макета. В этом случае его значения Update и Valid не влияют на то, что сохраняется при отправке формы.

Разбор примера

Ознакомьтесь с тем, что находится внутри типичной карточки ввода данных. На следующих снимках экрана размещены элементы управления, чтобы вы могли четко рассмотреть каждую часть.

Снимок экрана карточки для ввода данных в Power Apps с элементами управления, упрощённо распределёнными для большей наглядности.

На следующем изображении элементы управления внутри карточки помечены, чтобы вы могли сопоставить элементы, отображаемые на холсте, с тем, что отображено в виде дерева.

Снимок экрана: элементы управления с подписями внутри карточки данных в Power Apps.

Ниже приведены основные элементы управления, которые обычно отображаются внутри карточки:

Name Type Что он делает
TextRequiredStar Элемент управления Label Показывает звезду или звёздочку, когда поле обязательно.
TextFieldDisplayName Элемент управления Label Показывает понятное имя поля, которое видит пользователь. Это имя часто отличается от имени внутренней схемы.
InputText Элемент управления вводом текста Отображает текущее значение и позволяет пользователю вводить новый.
TextErrorMessage Элемент управления Label Отображает сообщение, если значение не может быть отправлено, например отсутствующие необходимые данные.

Обычно эти элементы управления не подключаются к Dataverse напрямую. Вместо этого они считывают простые значения из родительской карточки с помощью Parent, а карточка обрабатывает подключение к источнику данных. Ниже приведены распространенные примеры формул.

Свойство элемента управления Формула Объяснение для начинающих
TextRequiredStar.Visible Parent.Required Отображение звезды только в том случае, если это поле является обязательным.