删除按钮ag-grid angular2

时间:2018-04-30 15:25:57

标签: angular ag-grid ag-grid-ng2 angular6

我试图为ag-grid表格中的元素列表添加删除按钮。

我为按钮创建了一个组件,我可以使用

删除该行

...

export class AgGridButtonDeleteComponent implements ICellRendererAngularComp

...

deleteFunc(){
    this.params.api.selectIndex(this.params.node.rowIndex);
    var selectedData = this.params.api.getSelectedRows();
    this.params.api.updateRowData({remove: selectedData});

...

但我还需要调用服务来实际删除数据 所以我试图将服务包含在按钮组件

this.myService.deleteRow(this.value).subscribe(
response => {
    if(response){
        this.params.api.selectIndex(this.params.node.rowIndex);
        var selectedData = this.params.api.getSelectedRows();
        this.params.api.updateRowData({remove: selectedData}); 
    }
}

);

但我收到此错误: 属性' deleteButtonRenderer'与索引签名不兼容。         输入'类型的AgGridButtonDeleteComponent'不能与类型' new()=>相比任何'

关于我该怎么做的任何建议? 我使用的是ag-grid 16.0.0和angular 6,我发现的所有例子都是针对角度1

谢谢

1 个答案:

答案 0 :(得分:1)

可能的解决方案是:

列中的

onCellClicked: function (params) {
 this.deleteRow(params.data.Id)
 params.api.selectIndex(params.node.rowIndex);
 var selectedData = params.api.getSelectedRows();
 params.api.updateRowData({remove: selectedData}); 
}.bind(this)

记得绑定(this)否则deleteRow函数不可见