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

Технические условия

Добавление коллекции

  1. Откройте PowerApps и выберите Создать у левого края экрана.

  2. На плитке Blank app (Пустое приложение) щелкните или нажмите Phone layout (Макет телефона).

  3. Добавьте подключение в таблицу FlooringEstimates из файла Excel.

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

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

    Добавление коллекции

  5. На вкладке Home (Главная) щелкните или нажмите New screen (Создать экран).

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

  6. Чтобы добавить экран с коллекцией и другими элементами управления, такими как панель поиска, выберите Окно списка.

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

    Выбор макета коллекции

  7. На панели справа выберите источник данных, а затем щелкните или коснитесь FlooringEstimates.

    Выбор источника данных

    В коллекции отобразятся демонстрационные данные.

    Показ данных

    Сведения о настройке параметров поиска и сортировки приведены далее в этой статье.

Добавление элемента управления в коллекцию

Перед настройкой выберите макет коллекции. Первый набор элементов управления в коллекции — это шаблон, который определяет отображение всех данных в коллекции.

  1. Выберите шаблон. Для этого щелкните или коснитесь в нижней части коллекции, а затем щелкните значок карандаша в левом верхнем углу.

    Изменение шаблона коллекции

  2. Добавьте на шаблон коллекции элемент управления Метка, а затем переместите и измените его размер таким образом, чтобы он не накладывался на другие элементы управления.

    Добавление метки

  3. Выбрав элемент управления Метка, откройте выделенный список на панели справа.

    Открытие раскрывающегося списка

  4. В списке полей, который вы только что открыли, щелкните или нажмите на поле Price (Цена).

    Изменение привязки метки

    В коллекции отобразятся новые значения

    Окончательная версия коллекции

Фильтрация содержимого коллекции

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

Текстовое поле поиска

  1. Задайте для свойства Items (Элементы) коллекции следующую формулу:

    If(IsBlank(TextSearchBox1.Text), FlooringEstimates, Filter(FlooringEstimates, TextSearchBox1.Text in Text(Name)))

    Дополнительные сведения о других функциях см. в справочнике по формулам.

  2. Введите часть названия товара в поле поиска.

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

Сортировка содержимого коллекции

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

Изображение сортировки

  1. Задайте для свойства Items (Элементы) коллекции следующую формулу:

    Sort(If(IsBlank(TextSearchBox1.Text), FlooringEstimates, Filter(FlooringEstimates, TextSearchBox1.Text in Text(Name))), Name, If(SortDescending1, SortOrder.Descending, SortOrder.Ascending))

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

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

Sort(If(IsBlank(TextSearchBox1.Text), DataSource, Filter( DataSource, TextSearchBox1.Text in Text( ColumnName ))), ColumnName, If(SortDescending1, SortOrder.Descending, SortOrder.Ascending))

Выделение выбранного элемента

Введите для свойства коллекции TemplateFill формулу, аналогичную приведенной в примере:

If(ThisItem.IsSelected, LightCyan, White)

Изменение выбора по умолчанию

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

Last(FirstN(FlooringEstimates, 5))

В этом примере укажите первый элемент в категории Hardwood источника данных FlooringEstimates:

First(Filter(FlooringEstimates, Category = "Hardwood"))

Дальнейшие действия