Документация для разработчиков
Темная тема

Отложенная загрузка колонок

Описание

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

Для включения отложенной загрузки, потребуется:

  1. Передать в грид параметр компонента LAZY_LOAD со значением ['CONTROLLER' => 'my.controller.name'], естественно, вместо my.controller.name нужно указать настоящее имя контроллера к которому будет обращаться грид за списком колонок;
  2. Реализовать сам контроллер с методом getColumnsList, который будет возвращать список колонок.

Пример


Параметры компонента

'COLUMNS' => $currentlyDisplayedColumnsList,
'LAZY_LOAD' => [
	'CONTROLLER' => 'main.grid',
],

Обратите внимание, что в COLUMNS нужно передать только те колонки, которые сейчас отображаются. Список колонок может отличаться от списка колонок по умолчанию, т. к. набор колонок может быть настроен пользователем. Получить список отображаемых колонок можно с помощью PHP API грида. Пример ниже:

$gridOptions = new \Bitrix\Main\Grid\Options($gridId);
$defaultColumns = ['columns_id_1', 'column_id_2', ...];
$currentlyDisplayedColumns = $gridOptions->getUsedColumns($defaultColumns);

Этот пример вернет список колонок которые выбрал пользователь, а если пользователь ничего не настраивал, то вернется список колонок по умолчанию, который был передан первым параметром.


Контроллер

class Grid extends \Bitrix\Main\Engine\Controller
{
	public function getColumnsListAction(string $gridId): array
	{
		return [
		[...],
		[...],
		...,
		]; 
	}
}

Получение списка используемых колонок

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

$gridOptions = new \Bitrix\Main\Grid\Options($gridId);
$defaultColumns = ['columns_id_1', 'column_id_2', ...];
$columns = $gridOptions->getUsedColumns($defaultColumns);


Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх