来自外部的 Ag-grid 触发事件

Ag-grid trigger events from outside

我正在使用 ag-grid。我在 gridOptions:

中定义了事件处理程序
gridOptions = 
{
...
onCellEditingStarted: function (event) { /* magic happens!*/ },
onCellEditingStopped: function (event) { /* magic happens!*/  }
...
}

编辑单元格时 starts/stops - 一切正常。但在某些时候我需要从其他 .js 文件触发这些事件,我什至没有 ag-grid 实例。

我正在尝试这样的事情:

$(window).trigger('cellEditingStopped');

但不幸的是它不起作用。我究竟做错了什么?是否可以通过这种方式触发 ag-grid 的事件,或者我需要编写更多代码?

这是我找到的实现目标的解决方案:

gridOptions = 
{
...
onCellEditingStarted: function (event) { /* magic happens!*/ },
onCellEditingStopped: function (event) { /* magic happens!*/  }
onGridReady: function() {
                $('#gridContainer').off("cell-editing-stop");
                $('#gridContainer').on("cell-editing-stop", function () {
                    gridOptions.api.stopEditing();
                });
            },
...
}

所以在我的其他文件中我可以做这样的事情:

that.OnCellEditingStop = new Event('cell-editing-stop');
$('#gridContainer').trigger('cell-editing-stop');

这个解决方案对我来说看起来很干净,我不必以某种方式将我的网格实例移动到另一个文件。希望它能以某种方式帮助别人