【问题标题】:Handle long time sorting in ag-grid (pure JS)在 ag-grid 中处理长时间排序(纯 JS)
【发布时间】:2017-01-29 21:48:55
【问题描述】:

我正在处理大量数据(1M - 5M),并且网格中的行应该是可分组、可排序和可过滤的。由于 ag-grid 可以足够快地用数据填充表格,因此我使用内存行模型来满足要求。

但是,当我单击列以按此列对所有行进行排序时,执行此操作需要一些时间。此外,在行仍在排序时连续单击列可能会导致网格和浏览器应用程序崩溃。

是否有任何方法可以阻止用户点击列(禁用排序、显示加载覆盖或类似的东西)?

我正在尝试使用 beforeSortChanged 和 afterSortChanged 事件来显示覆盖或修改 DOM 元素(使网格有点灰色并显示加载圆圈),但它不能正常工作:beforeSortChanged 事件处理程序似乎被卡住了瞬间,然后才被执行。

Ag-grid 在 Ember 框架中作为组件使用。

【问题讨论】:

  • 其实排序好像很快就完成了,但是ag-grid刷新了它的视图,迫使一个网页等待它

标签: javascript ag-grid


【解决方案1】:

如何使用onCellClicked,它是columnDefs 的一个属性。应该以与使用 beforeSortChanged 的​​方式相似的方式工作。

【讨论】:

  • 感谢您的回复。我试过这种方式,但是当我点击列标题时它不会触发事件。
  • 啊对,难怪我不能让它工作,哈哈。在这种情况下,您可以使用headerCellTemplate,然后在其中放置一个 onclick 事件,以便在单击标题时随时触发。我自己用它来自定义一个图标来切换固定。
  • 它可以工作,但仍然是同样的问题:需要先等待排序完成,然后才执行处理程序。
猜你喜欢
  • 2022-10-14
  • 2018-09-22
  • 2020-08-21
  • 2020-05-29
  • 1970-01-01
  • 2016-06-19
  • 2017-06-03
  • 2019-01-18
  • 1970-01-01
相关资源
最近更新 更多