Общие сведения о карточках данныхUnderstand data cards

Элементы управления Карта являются стандартными блоками элементов управления Форма редактирования и Форма отображения.Card controls are the building blocks of the Edit form and Display form controls. Форма представляет всю запись, а каждая карта представляет одно поле этой записи.The form represents the entire record, and each card represents a single field of that record.

Выбрав элемент управления формы в рабочей области конструирования, вы сможете работать с карточками на панели справа.You can interact with cards most easily in the right-hand pane after you select a form control in the design workspace. На этой панели можно выбрать отображаемые поля, способ отображения каждого поля и их порядок.In that pane, you can choose which fields to show, how to show each field, and in what order to show them. В этом примере показан элемент управления Форма изменения в приложении, созданном из списка SharePoint с именем Assets.This example shows an Edit form control in an app built from a SharePoint list that's named Assets.

Чтобы начать работу с картами, см. статьи о добавлении формы и формах данных.To get started with cards, see add a form and understand data forms. В оставшейся части этой статьи приведены более подробные сведения о принципе действия карт, а также об их настройке и создании.The remainder of this topic goes into more detail about how cards work and how you can customize or even create your own.

Предопределенные картыPredefined cards

В PowerApps предусмотрен предопределенный набор карт для строк, чисел и других типов данных.PowerApps offers a predefined set of cards for strings, numbers, and other data types. В области справа можно просмотреть доступные варианты и изменить карту, используемую для поля.In the right-hand pane, you can see the variations available and change the card used for a field:

В этом примере выбрана однострочная текстовая карта, но текст URL-адреса не вмещается в одной строке.In this example, a single-line text card is selected, but the URL's text is longer than can be shown on a single line. Давайте изменим тип карты на многострочную текстовую, чтобы предоставить пользователям больше места для редактирования:Let's change this to a multi-line text card to give our users more room to edit:

Некоторые поля этого источника данных не отображаются. Но вы можете отобразить или скрыть поле, установив соответствующий флажок.Several fields of this data source aren't being shown, but you can show or hide a field by selecting its checkbox. В этом примере показано, как отобразить поле SecurityCode.This example illustrates how to show the SecurityCode field.

Настройка карточкиCustomize a card

Карты содержат другие элементы управления.Cards comprise other controls. В элементе управления Форма изменения пользователь вводит данные в стандартном элементе управления Текстовое поле, который можно добавить на вкладке Вставка.In an Edit form control, the user enters data in a standard Text input control that you add from the Insert tab.

Давайте рассмотрим пример с изменением вида карточки, используя элементы управления на ней.Let's walk through an example of how to change a card's appearance by manipulating controls in it.

  1. Сначала давайте вернемся к недавно вставленной карте для поля SecurityCode.First, let's return to the card that we inserted most recently, for the SecurityCode field. Щелкните или коснитесь ее один раз, чтобы выбрать.Select this card by clicking or tapping it once:

  2. Выберите элемент управления Текстовое поле в карте, коснувшись или щелкнув его.Select the Text input control inside the card by clicking or tapping the input control itself.

  3. Переместите этот элемент управления в карте, перетащив рамку выделения, и измените его размер, перетаскивая маркеры, расположенные по краям рамки выделения.Move this control within the card by dragging the selection box, and resize the control by dragging the handles along the edge of the selection box:

Вы можете перемещать элементы управления и изменять их размер, а также выполнять с ними другие действия в карточке. Но их невозможно удалить, не разблокировав.You can resize, move, and make other modifications to controls within a card, but you can't delete it without unlocking it first.

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

Кроме того, что карты содержат элементы управления, они сами являются элементами управления и подобно другим элементам управления имеют свойства и формулы.In addition to containing controls, cards themselves are controls that have properties and formulas just like any other control. Если нужно отобразить поле в форме, область справа автоматически создает карту и необходимые формулы.When you choose to display a field on a form, the right-hand pane automatically creates the card for you and generates the needed formulas. Эти формулы отображаются на вкладке Дополнительно в области справа.We can see these formulas in the Advanced tab of the right-hand pane:

Одно из самых важных свойств карты, DataField, отображается сразу.We immediately see one of the most important properties of the card: the DataField property. Это свойство указывает отображаемые поля источника данных, которые можно изменить на этой карте.This property indicates which field of the data source the user sees and can edit in this card.

На вкладке Дополнительно на баннере в верхней части указано, что свойства этой карточки заблокированы.On the Advanced tab, the banner at the top indicates that the properties of this card are locked. Значок блокировки также отображается рядом со свойствами DataField, DisplayName и Required.A lock icon also appears next to the DataField, DisplayName, and Required properties. Эти формулы созданы областью справа, а блокировка предотвращает случайное изменение этих свойств.The right-hand pane created these formulas, and the lock prevents accidental changes to these properties.

Щелкните или коснитесь баннера в верхней части, чтобы разблокировать карту и изменить эти свойства.Click or tap the banner at the top to unlock the card so that you can modify these properties:

Давайте изменим свойство DisplayName, чтобы вставить пробел между Asset и ID.Let's modify the DisplayName to put a space between Asset and ID. Таким образом мы изменим автоматически созданные значения.By making this change, we're altering what was generated for us. В области справа эта карта имеет другую метку.In the right-hand pane, this card has a different label:

Теперь мы можем управлять этой картой и изменять ее в соответствии с собственными потребностями.We've now taken control over this card and can modify it further to fit our need. Но мы не можем изменить представление карты (например, однострочный или многострочный текст), подобно тому, как мы делали раньше.But we've lost the ability to change the card from one representation to another (for example, single-line text to multi-line text) as we did before. Мы превратили предопределенную карту в пользовательскую и теперь можем управлять ей.We've transformed the predefined card into a "custom card" that we now control.

Важно! Разблокированную карточку невозможно заблокировать.Important: You can't relock a card if you unlock it. Чтобы заблокировать карточку, удалите ее и снова вставьте в области справа.To get a card back to a locked state, remove it, and reinsert it in the right-hand pane.

Вы можете изменять вид и поведение разблокированной карточки разными способами, например добавляя и удаляя элементы управления на карточке.You can change the appearance and behavior of an unlocked card in a variety of ways, such as adding and deleting controls within it. Например, можно добавить фигуру звезды, выбрав ее в меню Значки на вкладке Вставка.For example, you can add a star shape from the Icons menu on the Insert tab.

Теперь эта фигура является частью карточки и будет перенесена вместе с ней, например, при изменении порядка карточек в форме.The star is now a part of the card and will travel with it if, for example, you reorder the cards within the form.

Давайте рассмотрим другой пример. Разблокируйте карточку ImageURL и добавьте в нее элемент управления Изображение на вкладке Вставка.As another example, unlock the ImageURL card, and then add an Image control to it from the Insert tab:

В строке формул задайте для свойства Image этого элемента управления значение TextBox.Text, где TextBox — это имя элемента управления Текстовое поле, содержащего URL-адрес.In the formula bar, set the Image property of this control to TextBox.Text, where TextBox is the name of the Text input control that holds the URL:

Совет. Нажмите клавишу ALT для отображения имени каждого элемента управления.Tip: Press the Alt key to show the name of each control.

Теперь изображения отображаются, и мы можем изменить их URL-адреса.And now we can see the images and edit their URLs. Обратите внимание: вы можете использовать Parent.Default как значение свойства Image, но оно не обновится после изменения URL-адреса.Note that we could have used Parent.Default as the Image property, but it wouldn't have updated if the user changed the URL.

То же можно сделать на втором экране этого приложения, где используется элемент управления Форма отображения для отображения сведений о записи.We can do the same thing on the second screen of this app, where we use a Display form control to display the details of a record. В этом случае можно скрыть метку, задав для свойства Visible элемента управления "Метка" (не для карточки) значение false, так как пользователь не будет изменять URL-адрес на этом экране.In this case, we may want to hide the label (set the Visible property of the label, not the card, to false) because the user won't edit the URL on that screen:

Взаимодействие с формойInteract with a form

Для разблокированной карточки можно изменить способ взаимодействия с формой, которая содержит.After you unlock a card, you can change how it interacts with the form that contains it.

Ниже приведены некоторые рекомендации о взаимодействии элементов управления с картами и карт с формой.Below are some guidelines for how controls should work with their card and how the cards should work with the form. Это только рекомендации.These are only guidelines. Как и в случае с любым элементом управления в PowerApps, вы можете создавать формулы, ссылающиеся на любой другой элемент управления в PowerApps. То же касается карт и элементов управления на них.As with any control in PowerApps, you can create formulas that reference any other control in PowerApps, and that's no less true for cards and controls within cards. Приложение можно создать множеством способов. Реализуйте свой творческий потенциал!Be creative: you can create an app in many ways.

Свойство DataFieldDataField property

Самое важное свойство карты — DataField.The most important property on the card is the DataField property. Это свойство отвечает за проверку, за обновляемое поле и другие аспекты карты.This property drives validation, what field is updated, and other aspects of the card.

Ввод сведенийInformation flowing in

В качестве контейнера форма делает запись ThisItem доступной для всех карт, содержащихся в ней.As a container, the form makes ThisItem available to all cards within it. Эта запись содержит все поля в текущей записи.This record contains all of the fields for the current record of interest.

Свойству Default всех карт нужно присвоить значение ThisItem.FieldName.The Default property of every card should be set to ThisItem.FieldName. В некоторых случаях может понадобиться преобразовать это значение при передаче.Under certain circumstances, you might want to transform this value on the way in. Например, вам может потребоваться отформатировать строку или преобразовать значение, чтобы использовать его в другом языке.For example, you might want to format a string or translate the value from one language to another.

Каждый элемент управления в карте должен ссылаться на Parent.Default, чтобы получить значение поля.Each control within the card should reference Parent.Default to get at the field's value. Эта стратегия обеспечивает определенный уровень инкапсуляции карты, чтобы свойство карты Default можно было изменить, не меняя ее внутренние формулы.This strategy provides a level of encapsulation for the card so that the card's Default property can change without changing the internal formulas of the card.

По умолчанию свойства DefaultValue и Required можно получить из метаданных источника данных на основе свойства DataField.By default, DefaultValue and Required properties are taken from the data source's metadata based on the DataField property. Вы можете переопределить эти формулы собственной логикой, интегрировав метаданные источника данных, используя функцию DataSourceInfo.You can override these formulas with your own logic, integrating the data source's metadata by using the DataSourceInfo function.

Вывод сведенийInformation flowing out

После того как пользователь изменит записи с помощью элементов управления в картах, функция SubmitForm сохраняет эти изменения в источнике данных.After the user modifies a record by using controls in the cards, the SubmitForm function saves those changes to the data source. При выполнении этой функции элемент управления формы считывает значения свойства DataField каждой карты, чтобы определить поля, которые следует изменить.When that function runs, the form control reads the values of each card's DataField property to know what field to change.

Кроме того, элемент управления формы также считывает значение свойства Update каждой карты.The form control also reads the value of each card's Update property. Это значение будет храниться в источнике данных для этого поля.This value will be stored in the data source for this field. На этом этапе можно применить еще одно преобразование, например обратить преобразование, примененное в формуле карты Default.This is the place to apply another transform, perhaps to reverse the transform that was applied in the card's Default formula.

Свойство Valid можно получить из метаданных источника данных на основе свойства DataField.The Valid property is driven from the metadata of the data source, based on the DataField property. Кроме того, учитывается свойство Required, а также то, содержит ли свойство Update значение.It's also based on the Required property and whether the Update property contains a value. Если свойству Update назначено недопустимое значение, свойство Error отображает понятное сообщение об ошибке.If the value on the Update property isn't valid, the Error property provides a user-friendly error message.

Если свойство DataField карты пустое, карта является всего лишь контейнером элементов управления.If the DataField property of a card is blank, the card is just a container of controls. При отправке формы свойства Valid и Update не задействованы.Its Valid and Update properties don't participate when the form is submitted.

Разбор примераDissecting an example

Давайте рассмотрим элементы управления, входящие в базовую карту ввода данных.Let's look at the controls that make up a basic data-entry card. Пространство между элементами управления было увеличено для более четкого отображения каждого из них:The space between controls has been increased to show each more clearly:

Удерживайте клавишу ALT, чтобы показать имена элементов управления этой карты.Hold down the Alt key to show the names of the controls that make up this card:

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

ИмяName ТипType ОписаниеDescription
TextRequiredStarTextRequiredStar Элемент управления МеткаLabel control Отображает звездочку, которая часто используется в формах ввода данных, чтобы указать, что поле является обязательным.Displays a star, which is commonly used on data-entry forms to indicate that a field is required.
TextFieldDisplayNameTextFieldDisplayName Элемент управления МеткаLabel control Отображает понятное имя этого поля.Displays the user-friendly name of this field. Это имя может отличаться от имени на схеме источника данных.This name can differ from what is in the data source's schema.
InputTextInputText Элемент управления Текстовое полеInput text control Отображает начальное значение поля, которое пользователь может изменить.Displays the initial value of the field and allows the user to change that value.
TextErrorMessageTextErrorMessage Элемент управления МеткаLabel control Отображает понятное сообщение об ошибке для пользователя при возникновении проблемы с проверкой.Displays a user-friendly error message to the user if a problem occurs with validation. Кроме того, этот элемент управления гарантирует наличие значения в поле, если это значение является обязательным.Also ensures that the field has a value if one is required.

Чтобы заполнить эти элементы управления данными, их свойства можно получить из свойств карты, применяя следующие основные формулы.To populate these controls with data, their properties can be driven from the properties of the card, through these key formulas. Обратите внимание, что ни одна из этих формул не относится к определенному полю.Note that none of these formulas refers to a specific field. Вместо этого все данные можно получить из карты.Instead, all information comes from the card.

Свойство элемента управленияControl property ФормулаFormula ОписаниеDescription
TextRequiredStar.VisibleTextRequiredStar.Visible Parent.RequiredParent.Required Звездочка появляется, только если поле является обязательным.The star appears only if the field is required. Требуется формула, которую указывает пользователь или которую можно получить из метаданных источника данных.Required is a formula that's driven by you or the metadata of the data source.
TextFieldDisplayName.TextTextFieldDisplayName.Text Parent.DisplayNameParent.DisplayName Элемент управления "Текстовое поле" отображает понятное имя, которое предоставляет пользователь или метаданные источника данных и которое задается в свойстве карты DisplayName.The text-box control shows the user-friendly name, which you or the data source's metadata provides, and which is set on the card's DisplayName property.
InputText.DefaultInputText.Default Parent.DefaultParent.Default Элемент управления "Текстовое поле" изначально отображает значение поля из источника данных, указанное в значении карты по умолчанию.The text-input control initially shows the value of the field from the data source, as provided by the card's default value.
TextErrorMessage.TextTextErrorMessage.Text Parent.ErrorParent.Error При возникновении проблемы проверки свойство карты Error выдает соответствующее сообщение об ошибке.If a validation problem occurs, the card's Error property provides an appropriate error message.

Чтобы получить сведения из этих элементов управления и передать их обратно в источник данных, используйте следующие основные формулы:To pull information out of these controls and push it back into the data source, we have the following key formulas:

Имя элемента управленияControl name ФормулаFormula ОписаниеDescription
DataCard.DataFieldDataCard.DataField ApproverEmail"ApproverEmail" Имя поля, которое пользователь может отобразить и изменить в этой карте.The name of the field that the user can display and edit in this card.
DataCard.UpdateDataCard.Update InputText.TextInputText.Text Значение, которое следует проверить и передать обратно в источник данных при выполнении SubmitForm.The value to validate and push back into the data source when SubmitForm runs.