我通过纯 js 使用 ag-grid 社区。我想获取当前正在通过 onFirstDataRendered 事件执行的加载时每列的列标题文本。
然后,我循环遍历所有列,并从每列的 colDefs 中获取 headerName 的值。这有效,但仅当我在创建网格时手动设置 colDefs 中的 headerName 时才有效。如果没有手动添加 headerName,AG grid 会根据字段名称自动创建 header 名称。所以我当前的解决方案实际上并不是获取当前的列标题,而是获取手动设置的标题。
如何获取 ag grid 使用的实际列标题?
这是我目前有缺陷的解决方案。
onFirstDataRendered: (event) =>{
event.api.getAllGridColumns().forEach(column => {
console.log(column);
console.log(column.colDef.headerName)// only works if I manually set headername
});
}
您可以使用函数
getDisplayNameForColumn
来获取显示的标题名称。将您的代码更改为以下内容:
onFirstDataRendered: (event) => {
event.api.getAllGridColumns().forEach((column) => {
//console.log(column);
console.log(event.api.getDisplayNameForColumn(column));
// console.log(column.colDef); // only works if I manually set headername
});
演示。