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