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

695
Vistas
Cómo expandir la fila de la tabla de datos mediante programación

Quiero expandir la fila directamente desde un método mecanografiado, lo intenté con @viewchild pero no funciona:

HTML:

 <p-dataTable [value]="array" [responsive]="true" expandableRows="true" #dt (onRowClick)="dt.toggleRow($event.data)"> <template let-test pTemplate="rowexpansion"> <div class="ui-grid ui-grid-responsive ui-fluid"> <div class="ui-grid-row"> Bouh ! </div> </div> </template> <p-column field="name" header="Vin"></p-column> <p-column field="company" header="Year"></p-column> </p-dataTable> <button class="btn" (click)="addComment()"> <p>add comment</p> </button>

Mecanografiado:

 import { DataTable } from 'primeng/components/datatable/datatable'; export class MyAwesomeComponent implements OnInit { @ViewChild('dt') datatable : DataTable; addComment(): void { console.log(this.datatable); this.datatable.toggleRow(1); }

la fila no se expande, si alguien pudiera decirme cómo hacer lo mismo que el evento (onRowClick) pero dentro de un método mecanografiado, se lo agradecería.

Muestra de otro ejemplo html

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Hay una propiedad expandedRows que es una matriz de todas las filas expandidas actuales. Debería poder agregar/eliminar su fila a esta lista para alternar la expansión de la fila.

Necesitarás tener:

 <p-dataTable [expandableRows]="true" [expandedRows]="expandedItems"></p-dataTable>

y

 expandedItems: Array<any> = new Array<any>(); // expand row this.expandedItems.pop(this.gridData[rownumber]); // hide row this.expandedItems.push(this.gridData[rownumber]);

Plunker simple pero entiendes la idea... https://plnkr.co/edit/Zra8UUMv4XQCv0lbRbMg?p=preview

about 4 years ago · Santiago Trujillo Denunciar

0

Hay un método toggleRow en el nivel de la tabla de datos que toma datos de fila, pasados como parámetro:

 <p-dataTable #dt [value]="cars" expandableRows="true" (onRowClick)="dt.toggleRow($event.data)"> <p-column field="year" header="Year"></p-column> <ng-template let-car pTemplate="rowexpansion"> expanded row {{ car.brand }} </ng-template> </p-dataTable>
about 4 years ago · Santiago Trujillo Denunciar

0

Puede agregar otra tabla de datos o ver después de la última columna como el siguiente código

 <p-dataTable [value]="reviewPanels"> <p-column [style]="{'width':'35px'}" expander="true" ></p-column> <p-column ></p-column> <ng-template let-cp pTemplate="rowexpansion"> <p-dataTable [value]="cp.listreviewerlist" > <p-column></p-column> </p-dataTable> </ng-template> </p-dataTable>
about 4 years ago · Santiago Trujillo 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