main.ui.grid и main.ui.filter
Рассмотрим работу с компонентами main.ui.grid (классы Bitrix\Main\Grid) и main.ui.filter (классы Bitrix\Main\UI\Filter).
Компоненты
Компонент | Описание |
---|---|
main.ui.grid | Компонент для визуального представления данных в виде таблицы. |
main.ui.filter | Выводит
фильтр + поиск
О том, как выглядит работа с фильтром можно посмотреть в уроке Фильтр (новый интерфейс) в курсе Контент-менеджер. ![]() |
Компоненты являются системными и в визуальном редакторе не отображаются. В физической структуре их можно найти в папке /bitrix/components/bitrix/[название_компонента]
Связка компонентов
Компоненты могут работать в связке, что позволяет вывести информацию в виде таблицы с возможностью фильтрации и поиска.
Для связи фильтра и таблицы необходимо передать данные из фильтра в грид. Общая схема выглядит так:// Подключаем фильтр. $APPLICATION->includeComponent( "bitrix:main.ui.filter", "", [ "FILTER_ID" => "DEMO_FILTER", "GRID_ID" => "DEMO_GRID", // ... ] ); // Получаем данные для фильтрации. $filterOptions = new \Bitrix\Main\UI\Filter\Options("DEMO_FILTER"); $filterFields = $filterOptions->getFilter([ ['id' => 'DATE', 'name' => 'Дата', 'type' => 'date'], ['id' => 'IS_SPEND', 'name' => 'Тип операции', 'type' => 'list', 'params' => ['multiple' => 'Y'] ], ['id' => 'AMOUNT', 'name' => 'Сумма', 'type' => 'number'], ['id' => 'PAYER_INN', 'name' => 'ИНН Плательщика', 'type' => 'number'], ['id' => 'PAYER_NAME', 'name' => 'Плательщик'], ]); // Конвертируем то, что вернул фильтр в формат пригодный для выборки данных. // (формат зависит от того, как и с помощью чего планируется выбирать данные) $filter = []; foreach ($filterFields as $key => $value) { // ... } // Получаем данные на основе сконвертированного фильтра. $data = \AnyClass::getList(..., $filter); // Конвертируем данные в формат пригодный для грида $rows = []; foreach ($data as $key => $value) { // ... } // Подключаем грид и передаем ему данные $APPLICATION->includeComponent( "bitrix:main.ui.grid", "", [ "GRID_ID" => "DEMO_GRID", "ROWS" => $rows, // ... ] );
© «Битрикс», 2001-2025, «1С-Битрикс», 2025
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.