首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在kendo网格中为“嵌套”字段创建表单组

在kendo网格中为“嵌套”字段创建表单组
EN

Stack Overflow用户
提问于 2018-12-27 19:02:47
回答 1查看 675关注 0票数 0

我正在尝试编辑单元格内的kendo网格元素。

我有一个kendo网格,其中的列定义如下:

代码语言:javascript
复制
<kendo-grid-column title="Beam ID" field="id" width="30px">
</kendo-grid-column>
<kendo-grid-column field="additional_info.name" title="Name">
</kendo-grid-column>

我按照这个链接的第一个示例实现了一个单元格内编辑表单:https://www.telerik.com/kendo-angular-ui/components/grid/editing/in-cell-editing/

在以下代码行中定义表单组:

代码语言:javascript
复制
this.formBuilder.group({
 'id': dataItem.id,
 'additional_info.width': dataItem.additional_info.width
});

ID字段和每个“一级”字段都可以正常工作。我不能编辑像additional_info.width这样的网格嵌套元素。

我不能补充说,这似乎只是一个“表单位置”的问题,因为在某种警觉中,我理解到“单元格编辑”是从单击开始,并在远离列的位置单击结束的。

我什么都试过了。有什么建议吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-07-18 02:48:30

不知道你是否找到了答案,因为已经过了半年了。这是一个很好的解决问题的方法How to use formControlName and deal with nested formGroup?

但总而言之,当您创建一个包含嵌套对象的表单组时,您必须为这些对象创建额外的表单组。这意味着您最终得到了一个具有嵌套的表单组的表单组

代码语言:javascript
复制
    this.formBuilder.group({
        id: dataItem.id,
        additional_info: this.formBuilder.group({
           width: dataItem.additional_info.width
        })
    });

在某些情况下(我相信当您使用模板自定义列时),您可能还必须使用formControl来绑定正确的值。

代码语言:javascript
复制
    <kendo-grid-column [title]="Age" filter="numeric" field="additional_info.age" editor="numeric">
         <ng-template kendoGridEditTemplate let-formGroup="formGroup">
            <kendo-numerictextbox
                (valueChange)="onAgeChange($event)"
                [formControl]="formGroup.get('additional_info.age')"
            >
            </kendo-numerictextbox>
         </ng-template>
    </kendo-grid-column>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53943969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档