首页 > 解决方案 > AG-Grid:在列组中添加和删除列,同时保持其他列的状态

问题描述

我有一个用 AG Grid 构建的表,它需要根据我们提供的数据类型显示不同的列。事实证明这有点困难,因为我在 AG Grid 中找不到合适的界面,它允许您在现有列组中设置新列,并且不会破坏用户驱动的更改(隐藏列、调整大小、固定等)。

最大的问题是我不知道如何访问列组定义。

gridOptions.api.getAllColumns()

来自 agggrid 的这个函数不直接提供列组,只提供子列。通过此函数循环遍历列,它们有一个父属性,但不包括列组的coldef,这意味着甚至没有真正的方法可以根据从中获得的数据重建coldef(也,父属性在打字稿中是私有的)。

这是一个粗略的 plunker,从一个 ag 网格文档示例修改而来,该示例说明了它 https://plnkr.co/edit/C8TrwlkFDg5O5V1RJkng?p=preview

我确实尝试过让所有列始终存在于表中,并根据传入的数据以编程方式隐藏它们,但是这会导致默认列显示/隐藏功能出现几个问题(您可以手动显示无效列)。使用初始的coldefs 也不会很好地工作,因为这将丢弃用户对列所做的任何修改。

有没有人可以指出我正确的方向?

标签: ag-grid

解决方案


推荐阅读