Как обнаружить изменения в ag-grid, когда мои данные строки обновляются при передаче от одного компонента к другому

Я работаю над проектом на angular6, и мы внедряем ag-grid для заполнения данных из углового диалогового окна. Поскольку работают несколько команд, поэтому они создают собственный компонент. Я застрял в одной из необычных ситуаций и не могу понять, как разрешить ситуацию. У нас есть кнопка с именем (ADD OWNER), которая является компонентом с именем ADD-OWNER.component.ts, где я открываю диалоговое окно и передаю другой компонент с именем ownerdetails.component.ts, в котором есть все данные формы. В диалоговом окне есть 2 кнопки (ДОБАВИТЬ / ОТМЕНИТЬ), так что я помещаю данные в службу метаданных, поскольку мне не нужно сохранять данные в базе данных, я должен хранить данные в браузере. Та часть кодирования, которую я сделал в событии dialog.closed, работает нормально. Теперь мне нужно передать детали этого владельца в другой компонент, называемый Gridcomponent, где моя ag-grid находится, поэтому я использовал событие входного свойства для отправки данных от моего владельца добавления. компонент к сетке. Я отображаю селектор компонента сетки в моем add-onwer.component.ts, передавая данные ввода, как указано. Теперь я использую входное свойство в своей сетке для получения значения, но я хочу, чтобы сетка обновлялась автоматически при изменении данных строки. Значение не обновляется, как мне этого добиться. Я мог видеть, что значения выталкиваются в список владельцев, но каким-то образом я должен показывать в сетке. У меня нет точного кода, но я старался изо всех сил, чтобы объяснить.

ADD-OWNER.Component.html

<button mat-button (click)="openDialog()">Open dialog</button>
      <app-grid-selector [gridOptions]="ownerlist ">

ADD-OWNER.Component.ts

  openDialog() {
    const dialogRef = this.dialog.open(OwnerDetails);

    dialogRef.afterClosed().subscribe(result => {
      ownerlist = Pushing data into a metadata service which is working fine
    });}

grid.component.html

    <ag-grid-angular 
    style="width: 500px; height: 500px;" 
    class="ag-theme-balham"
    [rowData]="owner" 
    [columnDefs]="columnDefs"
    >
</ag-grid-angular>

grid.component.ts

 @Input() gridoptions
   ngOnint(){
   owner =this.gridOptions.rowData
   }

0 ответов

По состоянию на ag-grid версия `^22.1.1 вы можете использовать

В компоненте:

onRowDataUpdated в качестве

gridOptions = {
    onRowDataUpdated: function(){//do something}
}

Использовать gridOptions в шаблоне как

 <ag-grid-angular
     ...
     [gridOptions]="gridOptions"
     ...
  >
  </ag-grid-angular>
Другие вопросы по тегам