如何将按钮列添加到Ag网格Javascript网格

如何将按钮列添加到Ag网格Javascript网格,javascript,ag-grid,Javascript,Ag Grid,我已经设法让AgGrid(Javascript)的社区版本正常工作 然而,我不能让按钮工作 function drop( id) { alert(id); } var columnDefs = [ { headerName: "HELLO", field: "name", sortable: true, filter: true }, { headerName: 'One', field: 'fieldName', cellRendere

我已经设法让AgGrid(Javascript)的社区版本正常工作

然而,我不能让按钮工作

function drop( id) {
    alert(id);
}

var columnDefs = [
    { headerName: "HELLO", field: "name", sortable: true, filter: true },
    { headerName: 'One', field: 'fieldName',
                cellRenderer : function(params){
                    return '<div><button (click)="this.drop(params.id)">Click</button></div>'
                }
    }

];
函数删除(id){
警报(id);
}
var columnDefs=[
{headerName:“HELLO”,字段:“name”,可排序:true,筛选器:true},
{headerName:'One',fieldName'字段,
cellRenderer:函数(参数){
返回“单击”
}
}
];
我需要在用户单击按钮时调用该函数

什么都没发生?控制台中甚至没有错误

我做错了什么

社区版是否禁用了此功能

请注意,我需要一个Javascript解决方案,而不是Angular或Ag网格支持的任何其他语言/框架


Paul

在使用
cellRenderer
时,不应像
(单击)=“this.drop(params.id)”
那样注册事件

相反,使用javascript方式注册侦听器。看看下面的代码

colDef.cellRenderer = function(params) {
    var eDiv = document.createElement('div');
    eDiv.innerHTML = '<span class="my-css-class"><button class="btn-simple">Push Me</button></span>';
    var eButton = eDiv.querySelectorAll('.btn-simple')[0];

    eButton.addEventListener('click', function() {
        console.log('button was clicked!!');
    });

    return eDiv;
}
colDef.cellRenderer=函数(参数){
var eDiv=document.createElement('div');
eDiv.innerHTML='推送我';
var eButton=eDiv.querySelectorAll('.btn simple')[0];
eButton.addEventListener('click',function(){
log('按钮被点击了!!');
});
返回eDiv;
}
参考资料:


在使用
cellRenderer
时,不应注册类似
(单击)=“this.drop(params.id)”
的事件

相反,使用javascript方式注册侦听器。看看下面的代码

colDef.cellRenderer = function(params) {
    var eDiv = document.createElement('div');
    eDiv.innerHTML = '<span class="my-css-class"><button class="btn-simple">Push Me</button></span>';
    var eButton = eDiv.querySelectorAll('.btn-simple')[0];

    eButton.addEventListener('click', function() {
        console.log('button was clicked!!');
    });

    return eDiv;
}
colDef.cellRenderer=函数(参数){
var eDiv=document.createElement('div');
eDiv.innerHTML='推送我';
var eButton=eDiv.querySelectorAll('.btn simple')[0];
eButton.addEventListener('click',function(){
log('按钮被点击了!!');
});
返回eDiv;
}
参考资料:


好的,谢谢,当我到办公室时我会试试,但是我如何通过参数呢?我需要行中对象的Id此操作有效,谢谢我通过将eButton.value设置为params.value进行扩展,然后在事件中使用this.value确定谢谢我到办公室后会尝试此操作,但我如何获得参数?我需要行中对象的Id这是因为我将eButton.value设置为params.value,然后在事件中使用this.value对其进行了扩展