Por fin después de tanto luchar ya hallamos el arreglo de este dilema que muchos lectores de esta web presentan. Si deseas aportar algo no dudes en compartir tu conocimiento.
Actualización: para la versión >7.x
Establecer el valor en 1 no funcionará en la versión 7+ use boolean(true/false)
const thisRef = this;
this.cars.forEach(function(car)
thisRef.expandedRows[car.vin] = true;
);
Pila de trabajoBlitz
Para la versión <7.x
Intenté usar expandRowKeys attribute
Sí tienes razón. entonces agrega [expandedRowKeys]="expandedRows">
a p-table
elemento:
y luego, solo necesitas llenar expandedRows
objeto con vin
valores de las filas que desea expandir (porque dataKey
es vin
).
Como desea que se expandan todas las filas, puede llenarlas así:
const thisRef = this;
this.cars.forEach(function(car)
thisRef.expandedRows[car.vin] = 1;
);
para tener algo como
expandedRows = "dsad231ff": 1, "gwregre345": 1, ...
Ver Plunker en funcionamiento
En la respuesta aceptada, el filas expandidas mapeo a la tabla turbo ExpandedRowKeys es una forma, es decir, puede establecer el estado de las filas en el momento de la carga solamente. Si alguien quiere contraerlo o expandirlo después de cargar la tabla, puede editar directamente el ‘ExpandedRowKeys‘ variable pasando la referencia de la tabla desde el html.
Defina su tabla con una variable de referencia #dt
Edite el cuerpo de su tabla de esta manera para obtener un activador de función al hacer clic
rowData[col.field]
en su archivo TS agregue la función como
onItemClick(rowData:any, dt:any)
if(dt.expandedRowKeys[rowData._id])
dt.expandedRowKeys[rowData._id] = 0;
else
dt.expandedRowKeys[rowData._id] = 1;
Este enfoque le brinda más libertad para cambiar el estado de la tabla en un desencadenante de evento desde fuera de la tabla y expandir o contraer varias filas a la vez.
Calificaciones y comentarios
Si haces scroll puedes encontrar las crónicas de otros administradores, tú todavía puedes mostrar el tuyo si te apetece.