Saltar al contenido

La tabla de datos no muestra datos disponibles en la tabla usando Angular

Si encuentras algún detalle que te causa duda nos puedes dejar un comentario y te responderemos lo mas rápido que podamos.

Solución:

En tus usuario.componente.ts, declare su var de datos vacío para inicializarlo. No sé por qué, pero tuve el mismo problema cuando actualicé la página. Creo que los datos se han perdido, por lo que debe inicializarlos. Tal vez la tabla de datos necesite saber que hay una matriz y, después de llenarla, funciona.

    ngOnInit()
        this.data = [];
        this.getUsers();
    

ESTABA EQUIVOCADO

Debe volver a procesar la tabla de datos porque si vuelve a procesar la inicialización arroja un error, es por eso que tiene el mensaje que dice “no hay datos disponibles” a pesar de que tiene en la tabla.

ACTUALIZAR

En su componente, declare esta variable:

  @ViewChild(DataTableDirective)
  dtElement: DataTableDirective;
  dtOptions: DataTables.Settings = ;
  dtTrigger: Subject = new Subject();

después de extraer sus datos de cualquier servicio que tenga:

this.officeSrv.getAll().subscribe((data) => 
  console.log('----> office service : get all data', data);
  this.offices = data.offices;

  // ADD THIS
  this.dtTrigger.next();

, (err) => 
  console.log('-----> err', err);
)

Si tiene una modificación para realizar modificaciones directamente en la misma tabla de datos sin cambiar la página, cree y llame a esta función

rerender(): void 
 this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => 
   // Destroy the table first
   dtInstance.destroy();
   // Call the dtTrigger to rerender again
   this.dtTrigger.next();
 );

Utilice esta biblioteca en su componente:

    import  DataTableDirective  from 'angular-datatables';

En el módulo de tu aplicación:

    import  DataTablesModule  from 'angular-datatables';

Y declara esto:

    imports: [
           ...,
           DataTablesModule

Y finalmente para su plantilla (HTML):

   
Nom Adresse Actions
office.name office.adress

espero que sea de ayuda

fuente: https://l-lin.github.io/angular-datatables/#/advanced/rerender

Entonces, en mi caso, las tablas de datos se activan antes de recibir la respuesta del servidor. Acabo de agregar * ngIf para mi tabla y funcionó para mí. Como abajo.

Tiempo de espera agregado para resolver su problema.

 setTimeout(function () 
  $(function () 
    $('#user-table').DataTable();
  );
, 3000);

consulte este enlace de video que encontré en youtube https://www.youtube.com/watch?v=78X8ZRU9Hy8

Te mostramos las comentarios y valoraciones de los usuarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Respuestas a preguntas comunes sobre programacion y tecnología