Ускорение группировки ag-Grid в Angular2

введите здесь описание изображенияЯ рассматриваю возможность использования ag-Grid для наших целей. Нам нужно загрузить огромное количество строк (~ 50 000) в ag-Grid. Кроме того, мы должны показать строки с группировкой (см. прикрепленный скриншот). Однако после добавления 'ag-Grid' со свойствами группировки сетка загружалась очень-очень медленно, а иногда даже складывалась. Кроме того, параметры развертывания/свертывания очень медленные.

this.gridOptions = <GridOptions>{
  rowData:this.rowData,
  columnDefs:this.columnDefs,
  enableFilter: true,
  maxBlockInCache: 100,
  cacheOverflowSize:50,
  cacheBlockSize:50,
  enableRtl: true,
  enableColResize:true,
  suppressAutoSize:true,
  enableSorting:true,
  rowSelection: 'multiple',
  rowDeselection:true,
  enableStatusBar:true,
  alwaysShowStatusBar:true,
  enableRangeSelection:true,
  rowGroupPanelShow: "always",
  animateRows: true,
  groupDefaultExpanded: -1,
  autoGroupColumnDef: { field: "city" },
  columnTypes: this.columnTypes
};

Можете ли вы помочь или получить любую идею, чтобы решить проблему?


person Regina Kreimer    schedule 26.11.2017    source источник


Ответы (1)


Если у вас есть группировка в вашем приложении, я думаю, у вас должно быть агрессивное предприятие.

В этом случае вы должны использовать модель строки предприятия или области просмотра. Прямо сейчас вы визуализируете все 50 000 строк каждый раз, когда необходимо выполнить обновление (например, прокрутку пикселя вниз).

Мы не используем предприятие, поэтому я могу только связать вас с официальными документами:

Но когда мы перешли со стандартной модели строк на бесконечную прокрутку (в которой реализовано большинство корпоративных функций), уже при 1000 строк была большая разница.

Мы также сделали другие оптимизации, такие как удаление компонентов ввода и замена их редакторами aggrid-cell (у которых есть только один прослушиватель ввода для всего столбца), но переключение модели строк было, безусловно, самым большим улучшением производительности.

person Phil    schedule 11.05.2018