Создание зависимых раскрывающихся списков в приложении на основе холста

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

Рекомендуется создать источник данных для значений в "родительском" и "дочернем" списках (например, страны/регионы и города), который отделен от источник данных, который пользователи обновляют с помощью приложения. Если вы воспользуетесь этим подходом, вы можете использовать одни и те же родительские и дочерние данные в нескольких приложениях и обновлять эти данные без повторной публикации приложения или приложений, которые их используют. Вы можете достичь того же результата, используя коллекцию или статические данные, но это не рекомендуется для корпоративных сценариев.

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

Примечание

В этой статье используется список, созданный с помощью Microsoft Списки, в качестве источника данных. Однако все табличные источники данных работают одинаково. В Dataverse for Teams вам нужно включить классические элементы управления, чтобы классический раскрывающийся список работал в этом сценарии.

Создание источников данных

Список Расположения показывает отделы в каждом месте.

Местоположение Отдел
Эганвилль Пекарня
Эганвилль Гастроном
Эганвилль Овощи и фрукты
Ренфру Пекарня
Ренфру Гастроном
Ренфру Овощи и фрукты
Ренфру Аптека
Ренфру Цветы
Пембрук Пекарня
Пембрук Гастроном
Пембрук Овощи и фрукты
Пембрук Цветы

Список Инциденты показывает контактную информацию и информацию о каждом инциденте. Создайте столбец "Дата" как столбец Дата, но создайте другие столбцы как Одна строка текста, чтобы упростить настройку и избежать предупреждений делегирования в Microsoft Power Apps.

Имя Фамилия Телефон Местоположение Отдел Описание Дата
Тоня Кортез (206) 555 - 1022 Эганвилль Овощи и фрукты У меня была проблема с... 12.02.2019
Мозес Лафлэм (425) 555 - 1044 Ренфру Цветы У меня возникла проблема… 13.02.2019

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

  1. Рядом с правым верхним углом выберите значок шестеренки, затем выберите Параметры списка.
  2. На странице Параметры выберите Заголовок в списке столбцов.
  3. В пункте Требовать, чтобы этот столбец содержал данные, выберите Нет.

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

Открытие формы

  1. Откройте список Инциденты, затем выберите Интегрировать -> Power Apps -> Настроить формы.

    ![Откройте список Инциденты, затем выберите Power Apps > Настроить формы.](./media/dependent-drop-down-lists/open-form.png "Откройте список "Инциденты", затем выберите Power Apps > Настроить формы.")

    Откроется вкладка браузера с формой по умолчанию в Power Apps Studio.

  2. (необязательно) На панели Поля наведите курсор на поле Заголовок, выберите многоточие (...), затем выберите Удалить.

    Если вы закрыли панель Поля, вы можете открыть ее снова, выбрав SharePointForm1 в левой панели навигации, а затем выберите Редактировать поля на вкладке Свойства правой панели.

  3. (необязательно) Повторите предыдущий шаг, чтобы удалить поле Вложения из формы.

    Форма появляется только с полями, которые вы добавили.

    Форма без полей заголовка и вложений.

Замена элементов управления

  1. На панели Поля выберите стрелку рядом с полем Расположение.

    Если вы закрыли панель Поля, вы можете открыть ее снова, выбрав SharePointForm1 в левой панели навигации, а затем выберите Редактировать поля на вкладке Свойства правой панели.

  2. Откройте список Тип элемента управления, затем выберите Допустимые значения.

    Допустимые значения.

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

  3. Повторите эти шаги для карточки Отдел.

Добавление списка расположений

  1. Выберите Вид > Источники данных > Добавить источник данных.

  2. Выберите или создайте подключение SharePoint, затем укажите сайт, который содержит список Расположения.

  3. Установите флажок для этого списка, затем выберите Подключить.

    Панель "Данные".

    Список соединений показывает список Инциденты, на котором основана форма, и список Расположения, который будет определять расположения и отделы в форме.

    Источники данных SharePoint.

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

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

  2. Повторите предыдущий шаг для карточки Отдел.

Переименование элементов управления

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

  1. В карточке Расположение выберите элемент управления Раскрывающийся список.

  2. Рядом с верхней частью правой панели переименуйте выбранный элемент управления, введя или вставив ddLocation.

    Переименование элемента управления.

  3. Повторите предыдущие два шага в карточке Отдел, чтобы переименовать элемент управления Раскрывающийся список в ddDepartment.

Настройка расположений

  1. Задайте для свойства Items элемента ddlocation следующую формулу:

    Distinct(Locations, Location)

  2. (необязательно) Удерживая нажатой клавишу ALT, откройте ddLocation и убедитесь, что в списке показаны три местоположения.

Настройка отделов

  1. Выберите ddDepartment, затем, на вкладке Свойства на правой панели выберите Зависит от.

  2. В пункте Родительский элемент управления убедитесь, что ddLocation появляется в верхнем списке, а Результат появляется в нижнем списке.

    Примечание

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

  3. В пункте Соответствующее поле выберите Расположения в верхнем списке, выберите Расположение в нижнем списке, затем выберите Применить.

    Ссылка "Зависит от".

    Для свойства Items компонента ddDepartment задана следующая формула:

    Filter(Locations, Location = ddLocation.Selected.Result)

    Эта формула фильтрует элементы в списке ddDepartment на основе того, что пользователь выбирает в списке ddLocation. Такая конфигурация гарантирует, что "дочерний" список отделов отражает данные для его "родительского" местоположения, так указывает список Расположения в SharePoint.

  4. На вкладке Свойства на правой панели откройте список рядом с пунктом Значение, затем выберите Отдел.

    Этот шаг устанавливает отображаемый текст для параметров из столбца Отдел списка Расположения в SharePoint.

    Значение отдела.

Проверка формы

Удерживая нажатой клавишу ALT, откройте список расположений, выберите один, откройте список отделов, затем выберите один.

Списки мест и отделов отражают информацию в списке Расположения в SharePoint.

Откройте список мест, измените выбор с Ренфру на Пембрук, затем откройте список отделов.

Сохранение и открытие формы (необязательно)

  1. Откройте меню Файл, затем выберите Сохранить > Опубликовать в SharePoint > Опубликовать в SharePoint.

  2. В левом верхнем углу выберите стрелку "Назад" и выберите Вернуться в SharePoint.

  3. На панели команд выберите Создать, чтобы открыть настроенную форму.

Вопросы и ответы

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

  • Выберите раскрывающийся список, затем выберите свойство Значение на вкладке Свойства правой панели.

    Изменение раскрывающегося списка.

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

    Изменение поля со списком.

Мой дочерний раскрывающийся список содержит дубликаты. Этот симптом, вероятно, из-за использования столбца Подстановка в SharePoint или функции Choices в Power Apps. Чтобы удалить дублирование, оберните функцию Distinct вокруг правильно возвращаемых данных. Больше информации: Функция Distinct.

Известные ограничения

Эта конфигурация доступна в элементах управления Раскрывающийся список, а также элементов управления Поле со списком и Список, которые позволяют один выбор за один раз. Вы не можете использовать конфигурацию Зависит от для любого из этих элементов управления, если они допускают множественный выбор. Этот подход не рекомендуется для работы с наборами выбора в Microsoft Dataverse.

Конфигурация Зависит от не поддерживает статические данные или коллекции. Чтобы настроить зависимые раскрывающиеся списки с этими источниками, отредактируйте выражение непосредственно на панели формул. К тому же, Power Apps не поддерживает использование двух полей выбора в SharePoint без соответствующей таблицы данных, и вы не можете определить Соответствующее поле в этом интерфейсе.

Примечание

Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).

Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).