Могу ли я остановить изменения основной строки от закрытия деталей? - PullRequest
0 голосов
/ 23 января 2019

Я использую ag-grid enterprise с angular 6. У меня есть настройка master / detail с пользовательским detailCellRenderer.

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

вот мое определение сетки:

ag-grid-angular(
  style="height: 100%;width: 100%",
  class="ag-theme-balham",
  [gridOptions]='gridOptions',
  [enableSorting]="true",
  [enableColResize]='true',
  [unSortIcom]='true',
  [enableFilter]='true',
  [rowSelection]="'single'",
  [suppressRowDrag]='true',
  [animateRows]='true',
  [sideBar]='sideBar',
  [statusBar] = 'statusBar',
  [enableRangeSelection] = 'true',
  [floatingFilter] = 'true',
  [suppressDragLeaveHidesColumns]='true',
  (gridReady)="onGridReady($event)",
  (firstDataRendered)="onFirstDataRendered($event)",
  [rowData]="alarms",
  [columnDefs]="columnDefs",
  [pagination]="true",
  [paginationAutoPageSize]='true',
  [frameworkComponents]='frameworkComponents',
  [masterDetail]="true",
  detailCellRenderer = "alarmInstanceSubtableRenderer",
  [getContextMenuItems]="getContextMenuItems"
  )

вот мой рендер:

import { Component, OnInit } from '@angular/core';
import {ICellRendererAngularComp} from 'ag-grid-angular';
import {AlarmInstance} from "../../../../../../../lib/models/alarm-instance/alarm-instance";

@Component({
  selector: 'vfms-alarm-instance-subtable-renderer',
  templateUrl: './alarm-instance-subtable-renderer.component.html',
  styleUrls: ['./alarm-instance-subtable-renderer.component.styl']
})
export class AlarmInstanceSubtableRendererComponent implements OnInit,ICellRendererAngularComp {

  alarmInstance: AlarmInstance;

  constructor() { }

  ngOnInit() {
  }

  refresh(params: any): boolean {
    return false;
  }

  agInit(params: any): void {
    this.alarmInstance = params.data
  }

}

refresh() не имеет значения, истинно или нет. На самом деле это никогда не называется.

1 Ответ

0 голосов
/ 30 января 2019

Добавьте в определение сетки следующее:

[rememberGroupStateWhenNewData] =  true

https://www.ag -grid.com / javascript-grid-grouping / # keep-group-state

...