3

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

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

我不想抑制列拖动,只是一种无需刷新即可撤消隐藏的方法。

有什么建议吗?

4

1 回答 1

5

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


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

  • resetColumnState()

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

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

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

    • 这对于您尝试做的事情可能有点过头了,但这将允许您设置所有列的状态,无论它们是否可见,固定到不同的侧面,固定宽度等。

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

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

- 或者 -

  1. 创建将侦听更改并调用其他函数之一的复选框列表。此列表可能在您的网格之外,甚至在自定义过滤器组件中的网格内部(查找第一个示例的运动员列以了解我的意思。)
于 2017-05-08T17:36:58.067 回答