【问题标题】:ag-grid column menu reset columns event?ag-grid 列菜单重置列事件?
【发布时间】:2019-08-30 04:13:47
【问题描述】:

ag-grid 是否有对应于每列菜单底部的“重置列”项的网格事件?

我需要对“重置列”进行一些特殊处理,并对“移动”、“调整大小”等列进行不同的处理。我为“columnEverythingChanged”事件设置了一个事件处理程序,为“columnMoved”(等)设置了一个不同的事件处理程序。我发现:

1) 当没有对任何列进行更改并且我按“重置列”时,将调用“columnEverythingChanged”。美好的。 2) 当一个或多个列被更改并且我按下“重置列”时,“columnEverythingChanged”和“columnMoved”(或其他)都会被调用。

我的问题:在情况 (2) 中,我的“columnMoved”逻辑不应该运行。

第二个问题:“columnEverythingChanged”也会在应用程序启动时被调用。没什么大不了的,但我不得不解决它。

【问题讨论】:

  • 你找到解决办法了吗?

标签: ag-grid


【解决方案1】:

这是很久以前的事了,我不记得细节了。但在我的代码中,我看到我使用了 columnMoved、columnResized、columnVisible、filterChanged 和 sortChanged 事件。我对所有这些事件都运行相同的函数。该函数在进行我的特殊处理之前对事件进行去抖动。

【讨论】:

    【解决方案2】:

    您可以使用 GlobalListener 毫无问题地处理多个事件

    gridOption.api.addGlobalListener(GlobalListenerSaveColumnState);
    
    function GlobalListenerSaveColumnState(type, event) {
        if (type == "columnVisible" || type == "columnResized"|| type == "columnMoved"|| type == "columnPinned" || type == "dragStopped") {
            UpdateGridDefaultsIntoDb(event);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-07-03
      • 2018-10-30
      • 2019-11-06
      • 2022-08-03
      • 1970-01-01
      • 2019-02-12
      • 2021-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多