微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 igx-grid 中的行编辑期间以编程方式更新值?

如何解决如何在 igx-grid 中的行编辑期间以编程方式更新值?

我使用的是 Angular 11 和当前的 Ignite UI Agnular

我有一个 grid,其中包含用户可以编辑的列(名称、活动、类型等)和其他他们不能编辑的列(在其他屏幕中更改参数、审核列等):

<igx-grid #grid [data]="data" width="100%" height="500px" [primaryKey]="'ProductID'" [rowEditable]="true">
    <igx-column field="ProductName" header="ProductName" [dataType]="'string'"></igx-column>
    <igx-column field="UpdatedBy" [dataType]="'string'" [editable]="false"></igx-column>
    <igx-column field="UpdatedDate" [dataType]="'date'" [editable]="false"></igx-column>
  </igx-grid>

我想知道如何在行编辑完成后以编程方式修改“UpdatedBy”和“UpdatedDate”列?

解决方法

可以处理 rowEditDoneIgxGridComponent 事件以手动更改当前行对象的目标属性值:

public rowEditDoneHandler(args: IGridEditDoneEventArgs) {
      const currRowIndex = this.data.indexOf(args.rowData);
      this.data[currRowIndex].UpdatedBy = this.username || 'Anonymous';
      this.data[currRowIndex].UpdatedDate = new Date();
      this.data = [...this.data];
}

Here 也是展示这种方法的 StackBlitz 示例。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。