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

时间:2017-05-08 03:54:31

标签: reactjs ag-grid ag-grid-react

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

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

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

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

无耻插件:企业版在两个地方Tool PanelColumn Menu都有此功能。

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

  • resetColumnState()

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

    • 只需传入列的colId(通常以'field'传递的内容......但根据您的设置可能会有所不同)和truthy或falsey值,这将显示/隐藏列< / LI>
  • setColumnsVisible(<Array> colKeys, visible)

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

    • 这对你要做的事情来说可能有点过头了,但是这样你就可以设置所有列的状态,无论它们是否可见,固定到不同的边,固定宽度等等。

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

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

    1. 创建一个复选框列表,用于监听更改并调用其他功能之一。这个列表可能在你的网格之外,甚至在Custom Filter Component的网格内部(找到第一个例子的运动员专栏,看看我的意思。)