0
4

1 回答 1

1

这个关于这个 ag-grid-enterprise 问题的评论中,我能够分叉这个例子,我认为它适用于我的情况。

相关代码为:

var gridOptions = {
    columnDefs: columnDefs,
    enableRangeSelection: true,
    getContextMenuItems: getContextMenuItems,
    allowContextMenuWithControlKey: true,
    onCellClicked: params => {
        console.log(params);
        if(params.column.colDef.field === '...'){
            params.api.contextMenuFactory.showMenu(params.node, params.column, params.value, params.event)
        }
    },
    onCellContextMenu: params => {
        params.api.contextMenuFactory.hideActiveMenu()
    }
};

function getContextMenuItems(params) {
    console.log('getContextMenuItems', params);
    const node = params.node;
    console.log('node.id, node.rowIndex, node.data', node.id, node.rowIndex, node.data);
    var result = [
        {
            name: `Alert 'Row ${node.rowIndex + 1}'`,
            action: function() {
                window.alert(`Row ${node.rowIndex + 1}`);
            },
            cssClasses: ['redFont', 'bold']
        },
        'separator',
        {
            name: 'Checked',
            checked: true,
            action: function() {
                console.log('Checked Selected');
            },
            icon: '<img src="../images/skills/mac.png"/>'
        }, 
        'copy' // built in copy item
    ];

    return result;
}
于 2020-11-17T19:53:02.793 回答