是否可以在kendogrid中包含自动完成控件以进行内联编辑

时间:2017-02-20 07:13:59

标签: angular kendo-ui-angular2

1)我使用kendogrid和内联编辑功能。我需要一个场景来在网格中使用自动完成控件。如何实现这一点可以帮助吗?

2)当我根据选择选择一个网格列的自动完成内的项目时,我获取数据。我需要根据这些数据更新同一网格行的其他列的数据。

1 个答案:

答案 0 :(得分:2)

1)如果您使用模板驱动的表单,则可以在网格列定义中使用模板:

<kendo-grid-column field="ProductName" title="Product Name">
    <template kendoGridEditTemplate let-dataItem="dataItem">
        <kendo-autocomplete
          [data]="listProducts"
          [placeholder]="'e.g. Milk'"
          [(ngModel)]="dataItem.ProductName"
          (valueChange)="handleProductChange($event)"
        >
    </template>
</kendo-grid-column>

2)如果在自动填充中选择值时需要对行应用更改,则可以使用valueChange事件。 首先在编辑行时存储已编辑的行索引:

protected editHandler({sender, rowIndex, dataItem}) {
    (...)
    // track last edited row
    // it will be used in `closeEditor` for closing previous edited row
    this.editedRowIndex = rowIndex;

}

然后使用此行索引对已编辑的行进行更改:

handleProductChange(value) {
    // Do needed changes in model
    doSomethingWith(this.gridData[this.editedRowIndex]);
}

http://www.telerik.com/kendo-angular-ui/components/grid/editing/editing-template-forms/#toc-configure-the-columns-editor-template