Обновляю сетку при редактировании данных сервиса. (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>