Перейти к основному содержимому

Загрузка данных в компонент Gant

Для построения структуры таблицы в области компонента используются структурные столбцы, к которым относятся следующие:

  • столбцы, по которым в текущий момент сгруппированы и/или отсортированы данные, например, wbsId, parentId;
  • столбцы для расчета показателей статистики;
  • столбцы с разрешениями на редактирование, nodeFlags;
  • специальные столбцы nodeType и isSummary;
  • столбцы, которые клиентское приложение передает в поля graphSettings.customProductColumns и graphSettings.calendarColumnTitles.

Компонент Gant выполняет следующие действия при загрузке данных из базы данных:

  1. Запрашивает данные о структурных столбцах для построения структуры таблицы. Запрос выполняется с помощью метода GetData. При взаимодействии через REST API компонент Gant предварительно запрашивает общее количество работ с помощью метода GetCount и идентификаторы всех работ с помощью метода GetIds.
  2. Определяет, какие из работ нужно скрыть в соответствии с примененным фильтром. Запрос выполняется с помощью метода GetFilterState.
  3. На основании полученных данных формирует структуру таблицы и применяет к ней серверные и клиентские фильтры.
  4. Запрашивает данные только для работ, которые в текущий момент отображаются на экране. Запрос выполняется с помощью одного или нескольких следующих методов в зависимости от отображаемых частей компонента: GetData, GetMetrics, GetGraph, GetRelations. Например, если включено отображение только таблицы, отправляется запрос GetData, если включено отображение таблицы и календарной сетки, отправляются запросы GetData и GetMetrics. Эти запросы отправляются при прокрутке данных в области компонента, как только на экране появляются работы с неподгруженными ранее данными.