Поделиться через


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

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

Элементы управления Форма отображения и Форма редактирования в приложениях на основе холста представляют собой контейнеры для записей целиком. Каждая форма имеет несколько карточных элементов управления, которые служат строительными блоками формы. Каждая карточка отображает или позволяет редактировать одно поле из записи и ссылки на это поле с помощью свойства DataField . В форме показана полная запись, и каждая карточка фокусируется на одном поле, поэтому вы управляете отображением или обновлением данных.

Что вы узнаете:

  • Настройка существующих карт данных
  • Как разблокировать карты для расширенных модификаций
  • Создание пользовательских взаимодействий с карточками

Необходимые условия: Если вы не знакомы с формами, начните с прочтения добавить форму и понять формы данных.

Попробуйте: изменить тип карточки

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

Снимок экрана выбранной карточки в Power Apps.

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

  1. Откройте приложение для редактирования в Power Apps Studio.
  2. Выберите элемент управления формы в представлении дерева.
  3. На панели "Свойства" найдите поле, которое нужно изменить.
  4. Выберите раскрывающийся список типов карточки, чтобы просмотреть доступные параметры.

В области справа можно просмотреть доступные типы и сменить карточку для поля.

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

В этом примере выбрана однострочная текстовая карточка, но текст URL-адреса длиннее, чем помещается на одну строку. Измените эту карточку в многострочную, чтобы пользователи имели больше пространства для редактирования.

Скриншот многострочной текстовой карточки в Power Apps.

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

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

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

В этой статье объясняется, как изменить внешний вид карточки, изменив элементы управления в нем.

  1. Вернитесь к карточке, которую вы недавно вставили для поля SecurityCode . Выберите эту карточку, выбрав ее один раз:

    Выбор кода безопасности.

  2. Выберите элемент управления "Ввод текста " внутри карточки, выбрав сам элемент управления входными данными.

    Выберите ввод текста.

  3. Переместите элемент управления внутри карточки, перетащив рамку выделения, и измените его размер, перетаскивая маркеры, расположенные по краям рамки выделения. Снимок экрана: перетаскивание и изменение размера элемента управления вводом текста в карточке SecurityCode.

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

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

Помимо элементов управления, карточки являются элементами управления со свойствами и формулами, которые можно использовать для расширенной настройки. Когда вы выбираете отображение поля в правой панели формы, она автоматически создает карточку и генерирует необходимые формулы, экономя ваше время и усилия. Эти формулы можно увидеть на вкладке "Дополнительно " на правой панели:

Расширенный заблокированный.

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

На вкладке Дополнительно на баннере в верхней части указано, что свойства этой карточки заблокированы. Значок блокировки также отображается рядом со свойствами DataField, DisplayName и Required. Эти формулы созданы областью справа, а блокировка предотвращает случайное изменение этих свойств.

Значки блокировки.

Выберите баннер в верхней части, чтобы разблокировать карточку и изменить эти свойства:

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

Измените свойство DisplayName, чтобы вставить пробел между Asset и ID. Внося это изменение, вы изменяете то, что было создано для вас. В области справа эта карточка имеет другую метку:

Изменение отображаемого имени.

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

Важно

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

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

Добавьте звездочку.

Звездочка теперь является частью карточки и перемещается вместе с ней, например при изменении порядка карточек в форме.

Давайте рассмотрим другой пример. Разблокируйте карточку ImageURL и добавьте в нее элемент управления Изображение на вкладке Вставка.

Добавьте изображение.

В строке формул задайте для свойства Изображение этого элемента управления значение TextBox.Text, где TextBox — это имя элемента управления Ввод текста, содержащего URL-адрес.

Показать рисунок.

Теперь изображения отображаются, и вы можете изменить их URL-адреса. Вы могли бы использовать Parent.Default в качестве свойства Image , но оно не было бы обновлено, если пользователь изменил URL-адрес.

Вы можете сделать то же самое на втором экране этого приложения, где вы используете элемент управления "Форма отображения " для отображения сведений о записи. В этом случае может потребоваться скрыть метку (установив свойство Visible для метки в значение false, а не для карточки) поскольку пользователь не будет редактировать URL-адрес на этом экране:

Панель отображения изображения.

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

Для разблокированной карточки можно изменить способ взаимодействия с формой, которая ее содержит.

Здесь приведены некоторые рекомендации о взаимодействии элементов управления с карточками и карточек с формой. Эти рекомендации позволяют понять, как создавать формулы, ссылающиеся на другие элементы управления, включая карточки и элементы управления внутри карточек. Будьте творчески - вы можете создавать приложение различными способами в соответствии с вашими потребностями.

Свойство DataField

Самое важное свойство карточки — DataField. Это свойство отвечает за проверку, определяет, какое поле обновляется, и управляет другими аспектами карточки.

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

В качестве контейнера форма делает запись ThisItem доступной для всех карточек, содержащихся в ней. Эта запись содержит все поля в текущей записи.

Задайте для свойства Default каждой карточки значение ThisItem. FieldName. В некоторых случаях это значение можно преобразовывать по мере его поступления. Например, вам может потребоваться отформатировать строку или преобразовать значение, чтобы использовать его в другом языке.

Каждый элемент управления в карточке должен ссылаться на Parent.Default , чтобы получить значение поля. Эта стратегия инкапсулирует карточку, позволяя изменять свойство Default карточки, не затрагивая ее внутренние формулы.

По умолчанию метаданные источника данных задают свойства DefaultValue и Required на основе свойства DataField . Вы можете переопределить эти формулы собственной логикой, интегрировав метаданные источника данных, используя функцию DataSourceInfo.

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

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

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

Свойство Valid можно получить из метаданных источника данных на основе свойства DataField. Кроме того, учитывается свойство Required, а также то, содержит ли свойство Update значение. Если свойству Update назначено недопустимое значение, свойство Error отображает понятное сообщение об ошибке.

Если свойство DataField карточки пустое, карточка является контейнером для элементов управления. При отправке формы свойства Valid и Update не задействованы.

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

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

Карточка разбора.

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

Карточки разбора.

Эта карта действует за счет четырех элементов управления:

Имя Тип Описание
TextRequiredStar Элемент управления Подпись Отображает звездочку, которая часто используется в формах ввода данных, чтобы указать, что поле является обязательным.
TextFieldDisplayName Элемент управления Подпись Отображает понятное имя этого поля. Это имя может отличаться от имени на схеме источника данных.
InputText Элемент управления Ввод текста Отображает начальное значение поля, которое пользователь может изменить.
TextErrorMessage Элемент управления Подпись Отображает понятное сообщение об ошибке для пользователя при возникновении проблемы с проверкой. Он также гарантирует наличие значения в поле, если это значение является обязательным.

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

Свойство элемента управления Формула Описание
TextRequiredStar.Visible Parent.Required Звездочка появляется, только если поле является обязательным. Требуется формула, которую вы задаете или метаданные источника данных.
TextFieldDisplayName.Text Parent.DisplayName Элемент управления "Текстовое поле" отображает понятное имя, которое предоставляет пользователь или метаданные источника данных и которое задается в свойстве карточки DisplayName.
InputText.Default Parent.Default Элемент управления "ввод текста" изначально отображает значение поля из источника данных, указанное в значении карточки по умолчанию.
TextErrorMessage.Text Parent.Error При возникновении проблемы проверки свойство карточки Error выдает соответствующее сообщение об ошибке.

Заметка

Свойство Parent.Error — это свойство только для вывода, которое нельзя установить с помощью формулы. Это свойство не появляется в списке свойств в верхнем левом углу или на вкладках Свойства или Дополнительно возле правого края. Панель формул предлагает это свойство, если вы пишете формулу, которая ссылается на это свойство.

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

Имя элемента управления Формула Описание
DataCard.DataField "ApproverEmail" Имя поля, которое пользователь может отобразить и изменить в этой карточке.
DataCard.Update InputText.Text Значение, которое следует проверить и передать обратно в источник данных при выполнении SubmitForm.