【发布时间】:2020-12-15 03:42:53
【问题描述】:
我正在使用 vue aggrid。我在表中有 10 列,默认情况下显示所有列。现在用户可以从列面板中选择和取消选择列。有没有办法获取由用户选择并显示在表格中的列数组。 我试过了
this.gridOptions.api.sortController.columnController.getAllDisplayedColumns()
这给出了选定列的对象数组,但是有没有其他方法可以得到选定列的名称。
【问题讨论】:
我正在使用 vue aggrid。我在表中有 10 列,默认情况下显示所有列。现在用户可以从列面板中选择和取消选择列。有没有办法获取由用户选择并显示在表格中的列数组。 我试过了
this.gridOptions.api.sortController.columnController.getAllDisplayedColumns()
这给出了选定列的对象数组,但是有没有其他方法可以得到选定列的名称。
【问题讨论】:
您可以通过直接从ColumnAPI 调用问题中的该函数来获取所有可见列
columnApi.getAllDisplayedColumns()
【讨论】:
columnApi.setColumnsVisible(columnArr, false)。其中 columnArr 是我从columnApi.getAllColumns() 获得的标题字段数组。但它不起作用,因为列仍然可见。
如果我正确理解了您的问题,那么您正在寻找包含列名称(显示标签或 columnId)的数组,例如
["column1","column2","column3",...].
你已经在使用getAllDisplayedColumns 方法的正确轨道上,它为你提供了网格中显示的所有列。您可以使用以下方法获取列名的列表/数组,这些列名在网格中呈现并且可见。
var columnNames = gridOptions.api.columnController.getAllDisplayedColumns().map(function (col) { return col.getColId(); })
【讨论】: