【问题标题】:How do I add a button column to Ag Grid Javascript grid如何将按钮列添加到 Ag Grid Javascript 网格
【发布时间】:2020-03-16 13:53:16
【问题描述】:

我已经设法让 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>'
                }
    }

];

我需要在用户点击按钮时调用该函数

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

我做错了什么?

社区版是否禁用此功能?

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

保罗

【问题讨论】:

    标签: javascript ag-grid


    【解决方案1】:

    在使用cellRenderer 时,您不应像(click)="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;
    }
    

    参考:ag-grid Cell Renderer

    【讨论】:

    • 好的,谢谢,我会在我到办公室时尝试,但我如何获取参数?我需要行中对象的 ID
    • 这很有效,谢谢我通过将 eButton.value 设置为 params.value 然后在事件中使用 this.value 来扩展它
    猜你喜欢
    • 2019-04-04
    • 2021-03-01
    • 2019-06-01
    • 2016-03-13
    • 1970-01-01
    • 2019-05-23
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多