ag-grid :显示隐藏的列(被拖出)

use*_*554 2 reactjs ag-grid ag-grid-react

我有一个 ag-grid(免费的 reactjs 版本),有很多要加载的列和记录。

有些列不是必需的,因此用户可以将列拖出网格(从而隐藏它们)。这很好,但是用户如何在不刷新页面的情况下再次显示隐藏的列?

我不想抑制列拖动,只是一种在不刷新的情况下撤消隐藏的方法。

有什么建议吗?

Jar*_*ser 5

无耻插件:企业版在工具面板列菜单两个地方有这个功能。


但是,幸运的是,使用单个columnApi调用自己实现此功能相当容易,嗯……其中之一:

  • resetColumnState()

    • 这会将列的状态重置为您最初定义的状态。它基本上会让一切再次可见
  • setColumnVisible(colKey, visible)

    • 只需传入列的 colId(通常是您作为“字段”传入的内容......但根据您的设置可能会有所不同)和一个真值或假值,这将显示/隐藏该列
  • setColumnsVisible(<Array> colKeys, visible)

    • 请注意s - 除了它与以前相同之外,但您提供了一个希望全部隐藏或显示的 colKey 数组。如果您想提供所有列的数组以及是否应显示它们的另一个数组,请使用此处的最后一个选项setColumnState
  • setColumnState(<Array> columnState)

    • 这对于您想要做的事情来说可能有点矫枉过正,但这将允许您设置所有列的状态,无论它们是否可见,固定到不同的边,固定宽度等。

基本上我可以看到你在做两件事之一:

  1. 创建一个按钮,使所有列都可见并gridOptions.columnApi.resetColumnState()在单击时调用

- 或者 -

  1. 创建将侦听更改并调用其他函数之一的复选框列表。这个列表可能在你的网格之外,甚至在你的自定义过滤器组件中的网格内(找到第一个例子的运动员栏,看看我的意思。)