Tengo un proyecto angular que usa Ag-Grid y aquí está mi problema.
Creo que he probado todo lo que está en mi mano pero no puedo hacer que funcione... Mi código necesita agregar y eliminar algunas columnas dinámicamente, y en la documentación vi que setColumnDefs de GridApi era una buena idea de probarlo.
No sé si estoy haciendo algo mal, pero traté de seguir los documentos tanto como pude.
Este es el método que actualiza las definiciones de las columnas (no funciona)
updateColumnsMode(): void { if(!this.showAdvancedColumns) { this.gridOptions .api! .setColumnDefs(this.buildColumns(this.advancedColumnsName))); } else { this.gridOptions .api! .setColumnDefs(this.buildColumns(this.normalColumnsName))); } }
Opciones de mi cuadrícula
gridOptions: GridOptions = { rowData: this.rowData, columnDefs: this.buildColumns(this.normalColumnsName), onGridReady: (event:any) => console.log("Grid working!"), }
Y la inicialización de la API
onGridReady(params: any) { this.gridApi = params.api; this.gridColumnApi = params.columnApi; }
Y si pudiera ser relevante, el método donde construyo las columnas.
buildColumns(columnsToBuild: String[]): ColDef[] { return columnsToBuild.map((column):any => { return { "field": column, sortable: true, filter: true } }); }
Las columnas para construir son solo una matriz de cadenas.
Realmente necesito ayuda con estos chicos.