Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создайте коллекцию, чтобы отобразить данные о нескольких продуктах, а также отсортировать и отфильтровать эти сведения.
В Power Apps используйте коллекцию для отображения нескольких связанных элементов, как каталог продуктов. Галереи отлично подходят для отображения названий товаров, цен и количества единиц. В этой статье вы создадите коллекцию и отсортируете информацию с помощью функций Power Fx. При выборе элемента граница выделяет ее.
Заметка
В этой статье используется макет приложения планшета. Вы можете выполнить те же действия в телефонном приложении, но может потребоваться изменить размер некоторых элементов управления, чтобы соответствовать экрану.
Необходимые компоненты
- Зарегистрируйтесь в Power Apps, затем войдите в систему с помощью учетных данных, использовавшихся при регистрации.
- Создайте планшетное приложение из шаблона или с нуля.
- Узнайте, как настроить элемент управления.
Отображение данных в коллекции
Создайте коллекцию с именем Inventory , добавив элемент управления Button и задав его свойство OnSelect в следующую формулу:
ClearCollect( Inventory, { ProductName: "Europa", UnitsInStock: 25 }, { ProductName: "Ganymede", UnitsInStock: 32 }, { ProductName: "Callisto", UnitsInStock: 12 }, { ProductName: "Io", UnitsInStock: 47 }, { ProductName: "Titan", UnitsInStock: 18 } )Нажмите кнопку, удерживая клавиши ALT (или нажмите кнопку "Предварительный просмотр ", а затем кнопку), чтобы заполнить коллекцию инвентаризации пятью продуктами, каждая из которых содержит имя продукта и число единиц.
Заметка
В этой статье используется небольшая встроенная коллекция, поэтому вы сможете легко разобраться по ходу, не обращаясь к внешним данным. Для рабочих сценариев подключитесь к реальному источнику данных, например SharePoint или Microsoft Dataverse.
На вкладке Вставка выберите Макет>Горизонтальная коллекция.
В правой области выберите макет, показывающий название и подзаголовок.
Задайте свойству Items коллекции значение Inventory.
Переименуйте коллекцию в ProductGallery и измените ее размер, чтобы отобразить три продукта одновременно.
Выберите нижнюю надпись в первом элементе галереи.
Заметка
При изменении первого элемента в коллекции это же изменение автоматически применяется ко всем остальным элементам.
Задайте для свойства Text метки значение:
ThisItem.UnitsInStock
Теперь метка показывает количество единиц в запасе для каждого продукта.
Совет
Вы можете привязать любую метку к любому полю в коллекции. Например, используйте ThisItem.ProductName или ThisItem.Price если эти поля существуют в источнике данных.
Выделение выбранного элемента коллекции
Выберите любой элемент коллекции , кроме первого, а затем щелкните значок редактирования (карандаш) в левом верхнем углу, чтобы ввести режим редактирования шаблона.
На вкладке "Вставка " выберите фигуры>прямоугольник. В каждом элементе галереи отображается сплошной прямоугольник.
На панели "Свойства" задайте для цветазначение "Нет заливки " (прозрачно).
В разделе "Граница" задайте для раскрывающегося списка стилей значение Solid и значение толщины равным 3.
Измените размер прямоугольника так, чтобы он охватывал содержимое элемента галереи.
Задайте свойству Visible прямоугольника значение:
ThisItem.IsSelected
Теперь синяя граница отображается только вокруг выбранного элемента.
Совет
Если граница перекрывает содержимое, выберите прямоугольник и выберите reorder>Send to Back , чтобы переместить его за другими элементами управления.
Сортировка и фильтрация элементов в коллекции
Сортировка по возрастанию или по убыванию
Выберите любой элемент коллекции , кроме первого, чтобы обновить свойство Items коллекции.
Измените свойство Items , чтобы отсортировать по имени продукта в порядке возрастания:
Sort(Inventory, ProductName)Чтобы отсортировать по убыванию, измените свойство Items следующим образом:
Sort(Inventory, ProductName, SortOrder.Descending)
Фильтрация элементов с помощью ползунка и текстового ввода
На вкладке Вставка выберите Ввод>Ползунок. Переименуйте ползунок в StockFilter и поместите его под галереей.
Задайте диапазон ползунка в соответствии с данными:
- Задайте минимальное значение:
Min(Inventory, UnitsInStock) - Задайте Max:
Max(Inventory, UnitsInStock)
- Задайте минимальное значение:
Выберите любой элемент коллекции , кроме первого, и задайте для свойства Items значение:
Filter(Inventory, UnitsInStock <= StockFilter.Value)Выберите Предпросмотр (F5) и переместите ползунок, чтобы увидеть, как галерея фильтрует товары по количеству товара в наличии.
Чтобы также отфильтровать по имени продукта, добавьте элемент управления " Ввод текста " (на вкладке "Вставка ", выберите входной>текст), переименуйте его NameFilter и поместите его под ползунок.
Обновите свойство Items , чтобы объединить оба фильтра:
Filter(Inventory, UnitsInStock <= StockFilter.Value && NameFilter.Text in ProductName)В предварительной версии установите ползунок 30 и введите g в текстовом вводе. В галерее отображаются только товары, у которых на складе не более 30 единиц и в названии которых содержится буква "g".
Советы и подсказки
- Нажмите кнопку предварительного просмотра (F5) в любое время, чтобы проверить, что вы создали.
- Можно изменить размер и изменить положение элементов управления с помощью перетаскивания.
- Нажмите клавишу ESC или выберите X , чтобы закрыть окно предварительного просмотра.
- Чтобы одновременно изменить все элементы коллекции, выберите первый элемент в коллекции.
- Чтобы обновить свойства уровня коллекции (например , Items или ShowScrollbar), выберите любой элемент , кроме первого.
Сводка
В этой статье вы:
- Создана коллекция с примерами данных продукта.
- Данные коллекции отображены в горизонтальной галерее.
- Настроенные метки для отображения значений полей из каждой записи.
- Добавлена граница выделения вокруг активного элемента коллекции.
- Отсортированные элементы коллекции по имени продукта в порядке возрастания и убывания.
- Использует ползунок и текстовый ввод для фильтрации продуктов по количеству запасов и имени.