Внешняя команда KendoUI Angular Grid

я использую KendoUI-Grid в приложении Angular (5).

HTML:

<kendo-grid [data]="GRIDData"            
  (add)="addHandler($event)">
  <ng-template kendoGridToolbarTemplate>
    <button kendoGridAddCommand type="button">Add new</button>
  </ng-template>

составная часть:

public addHandler({sender}) {
  this.formGroup = createFormGroup({
    'Id': 'NEW',
    'Name': 'New entry'
  });
sender.addRow(this.formGroup);
}

Можно ли вызвать команду addCommand (или любую другую) из-за пределов сетки? Возможно, что-то вроде:

HTML:

<button (click)="gridAddRow()"> Add New Row to Grid</button>

компонент:

gridAddRow() {
  **//calling addHandler ({sender})**
}

THX


person broetchen    schedule 17.01.2018    source источник


Ответы (1)


Ага! сетка является компонентом. Вам просто нужна ссылка на него.

HTML:

<kendo-grid [data]="GRIDData"            
  (add)="addHandler($event)">
  <ng-template kendoGridToolbarTemplate>
    <button kendoGridAddCommand type="button">Add new</button>
</ng-template>

Составная часть:

@ViewChild(GridComponent) private grid: GridComponent;

gridAddRow() {
  **//calling addHandler ({sender})**
  this.grid.addRow(** your form group goes here **)
}

stackblitz https://stackblitz.com/edit/angular-ruohgs

person Ringo    schedule 17.01.2018
comment
ОТЛИЧНО РАБОТАЕТ СПАСИБО - person broetchen; 17.01.2018
comment
@Ringo, не могли бы вы привести пример этого? Поскольку я не могу добиться этого с помощью этого кода. - person Rohit Jindal; 17.09.2018
comment
@RohitJindal, держи :) stackblitz.com/edit/angular-ruohgs - person Ringo; 17.09.2018