Aggrid 获取表格中显示的列的名称

Posted

技术标签:

【中文标题】Aggrid 获取表格中显示的列的名称【英文标题】:Aggrid get get name of columns displayed in the table 【发布时间】:2020-12-15 03:42:53 【问题描述】:

我正在使用 vue aggrid。我在表中有 10 列,默认情况下显示所有列。现在用户可以从列面板中选择和取消选择列。有没有办法获取由用户选择并显示在表格中的列数组。 我试过了

this.gridOptions.api.sortController.columnController.getAllDisplayedColumns()

这给出了选定列的对象数组,但是有没有其他方法可以得到选定列的名称。

【问题讨论】:

【参考方案1】:

您可以通过直接从ColumnAPI 调用问题中的该函数来获取所有可见列

columnApi.getAllDisplayedColumns()

【讨论】:

有没有办法一次取消选择所有列,即隐藏所有列。我试过columnApi.setColumnsVisible(columnArr, false)。其中 columnArr 是我从columnApi.getAllColumns() 获得的标题字段数组。但它不起作用,因为列仍然可见。 您可以创建另一个问题。我会回答的。 请看***.com/questions/63722962/…【参考方案2】:

如果我正确理解了您的问题,那么您正在寻找包含列名称(显示标签或 columnId)的数组,例如

    ["column1","column2","column3",...].

你已经在使用getAllDisplayedColumns 方法的正确轨道上,它为你提供了网格中显示的所有列。您可以使用以下方法获取列名的列表/数组,这些列名在网格中呈现并且可见。

    var columnNames = gridOptions.api.columnController.getAllDisplayedColumns().map(function (col)  return col.getColId(); )

【讨论】:

以上是关于Aggrid 获取表格中显示的列的名称的主要内容,如果未能解决你的问题,请参考以下文章

Vue动态控制表格列的显示和隐藏

自动获取excel表格的列类型

EXCEL表格中,通过商品名称自动获取对应的商品编码

165 - 获取单个表格的行数据

在已经有 5 列的表格的列中插入图像

基于另一列的最大值的列上的 SQL 内连接 [重复]