在组件初始化上执行[kendoGridAddCommand]

时间:2018-09-17 09:11:40

标签: angular kendo-ui kendo-grid angular5 kendo-angular-ui

Kendo Default Behaviour

点击add下的kendoGridAddCommand会触发kendoGridToolbarTemplate事件。

HTML:

<kendo-grid 
(add)="addHandler($event)"
>
    <ng-template kendoGridToolbarTemplate>
        <button kendoGridAddCommand>Add new</button>
    </ng-template>
    <kendo-grid-column field="id" title="ID" width="120"></kendo-grid-column>
    <kendo-grid-column field="name" title="name" width="120"></kendo-grid-column>
</kendo-grid>

TS:

protected addHandler({sender}) {
    // define all editable fields validators and default values
    const group = new FormGroup({
        'id': new FormControl(),
        'name': new FormControl()
    });

    // show the new row editor, with the `FormGroup` build above
    sender.addRow(group);
}

要求

在组件初始化或网格外部触发addrow事件。默认情况下,表单控件应显示一行,而无需单击Add new按钮。

尝试了以下解决方案提供了SO,但没有成功。

KendoUI Angular Grid external command

任何帮助都是有意义的。谢谢

1 个答案:

答案 0 :(得分:0)

您可以处理AfterViewInit事件,并调用Grid Padding on Shape in Progressbar,例如:

ngAfterViewInit() {
  this.formGroup = new FormGroup({
        'ProductID': new FormControl(),
        'ProductName': new FormControl('', Validators.required),
        'UnitPrice': new FormControl(0),
        'UnitsInStock': new FormControl('', Validators.compose([Validators.required, Validators.pattern('^[0-9]{1,3}')])),
        'Discontinued': new FormControl(false)
  });

  this.grid.addRow(this.formGroup);
}

addRow method