Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

613
Vistas
¿Cómo eliminar filas duplicadas en AG Grid?

Estaba experimentando con AG Grid en Angular e inmediatamente me enfrenté a un desafío.

ingrese la descripción de la imagen aquí

Quiero asegurarme de que AG Grid muestre filas únicas.

¿Debo iterar sobre la cuadrícula y eliminar las filas duplicadas o verificar si ya existe una fila con esos valores en la cuadrícula?

Estaba pensando en usar un conjunto para este desafío. Espero recibir ayuda para encontrar la solución más eficiente en el código.

grid-test.component.html

 <!-- Button to clear selection --> <button (click)="clearSelection()">Clear Selection</button> <!-- AG Grid Angular Component --> <ag-grid-angular style="width: 70%; height: 100%; display: block; margin-left: auto; margin-right: auto;" class="ag-theme-alpine" [columnDefs]="columnDefs" [defaultColDef]="defaultColDef" [rowData]="rowData$ | async" [rowSelection]="'multiple'" [animateRows]="true" (gridReady)="onGridReady($event)" (cellClicked)="onCellClicked($event)" ></ag-grid-angular>

grid-test.component.ts

 import { HttpClient } from '@angular/common/http'; import { Component, OnInit, ViewChild } from '@angular/core'; import { AgGridAngular } from 'ag-grid-angular'; import { CellClickedEvent, ColDef, GridReadyEvent } from 'ag-grid-community'; import { Observable } from 'rxjs'; @Component({ selector: 'app-grid-test', templateUrl: './grid-test.component.html', styleUrls: ['./grid-test.component.css'] }) export class GridTestComponent implements OnInit { ngOnInit(): void { } // Each Column Definition results in one Column. public columnDefs: ColDef[] = [ { field: 'make'}, { field: 'model'}, { field: 'price' } ]; // DefaultColDef sets props common to all Columns public defaultColDef: ColDef = { sortable: true, filter: true, }; // Data that gets displayed in the grid public rowData$!: Observable<any[]>; // For accessing the Grid's API @ViewChild(AgGridAngular) agGrid!: AgGridAngular; constructor(private http: HttpClient) {} // Example load data from sever onGridReady(params: GridReadyEvent) { this.rowData$ = this.http .get<any[]>('https://www.ag-grid.com/example-assets/row-data.json'); } // Example of consuming Grid Event onCellClicked( e: CellClickedEvent): void { console.log('cellClicked', e); } // Example using Grid's API clearSelection(): void { this.agGrid.api.deselectAll(); } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Hay varios enfoques que puede tomar para asegurarse de que no haya filas duplicadas que tengan los mismos datos.

Un enfoque sería iterar sobre cada fila usando api.forEachNode y realizar un seguimiento si ya existe una fila.

Otro enfoque sería crear un conjunto a partir de los datos de la fila actual y luego volver a convertirlo en una matriz. Puede ver un ejemplo de esto implementado en el siguiente plunkr .

 onBtnRemove() { const rowDataSlash = new Set( this.rowData.map((row) => row.make + '/' + row.model + '/' + row.price) ); const newRowData = Array.from(rowDataSlash).map((row) => { const rowParts = row.split('/'); return { make: rowParts[0], model: rowParts[1], price: rowParts[2] }; }); this.rowData = newRowData; }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda