ag-grid - 在 ag-grid 中使用 getAllColumns 属性时如何排除列
问题描述
我有一个函数可以计算和隐藏不适合屏幕的列数。我想在调整列大小和隐藏列时排除列。这就是我所拥有的。
let ctrOfColumns = this.gridOptionsValue.columnApi.getAllColumns();
这将返回我拥有的列。我想排除一个 colId 为“toBeExcludedId”的特定列,这样它就不会被包含在列算法的隐藏中。
这是我隐藏列的算法
let gridWidthOfMyTable = $('#idOfMyGrid').outerWidth();
let columnsToBeShown = [];
let columnsToBeHidden = [];
let totalWidthOfColumn = 0;
for(let x = 0 ; x < ctrOfColumns.length; x ++){
const singleColumn = ctrOfColumns[x];
totalWidthOfColumn += singleColumn.getMinWidth();
if (totalWidthOfColumn > gridWidthOfMyTable) {
columnsToBeHidden.push(singleColumn);
} else {
columnsToBeShown.push(singleColumn);
}
}
this.gridOptionsValue.columnApi.setColumnsVisible(columnsToBeShown, true);
this.gridOptionsValue.columnApi.setColumnsVisible(columnsToBeHidden, false);
解决方案
无需遍历数组中的所有值。您可以使用链接并将过滤器直接应用于 getAllColumns(),如下所示:
let ctrOfColumns = this.gridOptionsValue
.columnApi
.getAllColumns()
.filter((column) => column.colId !== 'toBeExcludedId');
推荐阅读
- asp.net-mvc - 将 Kentico 11 升级到 12 后缺少媒体库
- java - 如何使用maven构建spring boot应用程序的库jar
- ruby-on-rails - Rails 按原样转发来自外部 API 的响应
- typo3 - TYPO3 9 中 sysext 表单的 JavaScript 错误
- java - 为什么这总是为布尔返回false?
- pytorch - Pytorch - 索引一系列多个索引?
- android - 是否可以再次使用具有相同 putextra 值的相同意图?
- python - 从 api 响应中解析嵌套 json 的最佳方法
- c - malloc() 到底是做什么的?
- javascript - 如何在没有 console.log() 的情况下记录 JavaScript 变量的值?