Обновляю сетку при редактировании данных сервиса. (Angular2)

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

    @Component({
  selector: 'control-horas-bloquear-mes',
  templateUrl: './control-horas-bloquear-mes.component.html',
  styleUrls: ['./control-horas-bloquear-mes.component.scss'],
  providers: [ControlEstadoMesServiceMock]
})
export class ControlHorasBloquearMesComponent implements OnInit {

  public gridData: any[] = MOCK_CONTROLESTADOMES;
  public value: number;
  public anyoActual: Date = new Date();
  public anyoAnterior: Date = new Date();
  private rowIndex: number;
  private editService: ControlEstadoMesService;

  constructor(private service: ControlEstadoMesServiceMock) {
    this.value = 2007;
  }

  ngOnInit() {
    this.anyoAnterior.setFullYear(this.anyoAnterior.getFullYear() - 1);
    this.service.getControlEstadoMes(this.value).subscribe(anyo => this.gridData = anyo);
  }

  getControlEstadoMes(anyo: number) {
    this.service.getControlEstadoMes(anyo).subscribe(data => {
      this.gridData = data;
    });
  }

  onClickBloquear(event: any) {
    if (event.dataItem !== undefined) {
      const id = event.dataItem.id;
      this.service.bloquear(id);
    }
  }
}

Это HTML.

<div class="row">
    <div class="col-sm-6">
      <kendo-grid 
        [data]="gridData"
        (edit)="onClickBloquear($event)"
        >
        <kendo-grid-column field="mes" title="Mes" [width]="150">

        </kendo-grid-column>
        <kendo-grid-column field="anyo" title="Año" [width]="150">

        </kendo-grid-column>
        <kendo-grid-column field="bloqueado" title="Bloquear" [width]="150">
            <ng-template kendoGridCellTemplate let-dataItem="dataItem">
                <button kendoGridEditCommand (click)="onClickBloquear($event.target.value)" type="button" class="btn btn-outline-danger" [disabled]="dataItem.bloqueado">Bloquear</button>
            </ng-template>
        </kendo-grid-column>
      </kendo-grid>
    </div>
  </div>

0 ответов

Другие вопросы по тегам