Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular ag网格单元编辑器-如何将数据保存到后端_Angular_Ag Grid - Fatal编程技术网

Angular ag网格单元编辑器-如何将数据保存到后端

Angular ag网格单元编辑器-如何将数据保存到后端,angular,ag-grid,Angular,Ag Grid,你能帮我举一个例子,显示在angular js中编辑1/多个单元格后将数据保存到后端服务吗?我找到了有关如何编写自定义单元格编辑器和使用ag grid默认单元格编辑器的示例,但找不到如何以及在何处插入我的代码以保存对后端服务的编辑?有两种方法可以将数据保存在ag grid上 1) 获取所有数据并将所有内容发送到后端 2) 仅获取已更改的行,并将这些行发送到后端。如果要侦听对特定行的特定更改,可以在组件模板上定义ag网格组件时使用onCellValueChanged事件绑定。基本上,只要单元格有任

你能帮我举一个例子,显示在angular js中编辑1/多个单元格后将数据保存到后端服务吗?我找到了有关如何编写自定义单元格编辑器和使用ag grid默认单元格编辑器的示例,但找不到如何以及在何处插入我的代码以保存对后端服务的编辑?

有两种方法可以将数据保存在ag grid上

1) 获取所有数据并将所有内容发送到后端

2) 仅获取已更改的行,并将这些行发送到后端。如果要侦听对特定行的特定更改,可以在组件模板上定义ag网格组件时使用
onCellValueChanged
事件绑定。基本上,只要单元格有任何更改,整行都将被“标记”为已修改(将自定义属性
modified
指定为true)

当您需要将修改后的行发送到后端时,您将获得所有行数据,并过滤掉“modified”属性等于
true
的行

在组件上初始化Ag grid的params api

下面的代码是针对#2的,因为这正是您所寻求的

 <ag-grid-angular 
.
.
(gridReady)="onGridReady($event)"
(cellValueChanged)="onCellValueChanged($event)"
>

只是想看看你用的是AngularJS吗?还是角度2-8?我用的是角度6ah,好的。我一时糊涂,因为你提到AngularJS你想把整个数据网格发送到后端吗?或者仅仅是你改变的那些?仅仅是我改变的那些。
export class YourComponent {
  private gridApi;
  private gridColumnApi;
   .
   . 
  onGridReady(params) {
    this.gridApi = params.api;
    this.gridColumnApi = params.columnApi;
  }

  onCellValueChanged(event) {
    //console.log(event) to test it
    event.data.modified = true;
  }

  saveModifiedRows() {
    const allRowData = [];
    this.gridApi.forEachNode(node => allRowData.push(node.data));
    const modifiedRows = allRowData.filter(row => row['modified']);
    // add API call to save modified rows

  }