невозможно отобразить данные в таблице данных - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь отобразить данные после выполнения запроса. Я в состоянии сохранить данные в таблице данных, но они не отображаются в таблице данных.

Я вызвал функцию обработки данных после сохранения данных в массиве. Но это дает мне ошибку. Это показывает, что aDataSort не определен. Я вызываю функцию обработки данных в ngOnInit (), чтобы ошибка не отображалась.

<table datatable [dtOptions]="dtOptions" [dtTrigger]="dtTrigger"
        class="row-border hover">
</table>




ngOnInit() {

  this.dataTable()
}

ngAfterViewInit(): void {
// this.dtTrigger.next();
}

ngOnDestroy(): void {
// Do not forget to unsubscribe the event
 this.dtTrigger.unsubscribe();
}

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

 dataTable() {
 console.log(this.scannedData);
 let self = this;
 this.dtOptions = {
  data: this.scannedData,

  columnDefs: [
    {
      'targets': 0,
      render: function () {
        let checkbox = `
           <input type="checkbox" class="checkbox">`;
        return checkbox;
      }
    }
  ],
  columns: [

    {
      title:"Select"
    },

    {
      title: "Name",
      data: "data.name"
    },
    {
      title: "Email",
      data: "data.email"
    },
    {
      title: "Phone",
      data: "data.phone"
    },
    {
      title: "Experience",
      data: "data.experience"
    },
    {
      title: "Score",
      data: "data.score"
    }
  ],
  rowCallback: (row: Node, data: any[] | Object, index: number) => {
    const self = this;
    $("td", row).unbind("change");
    $("td", row).bind("change", () => {
      self.onSelect(data);
    });

    $("td .checkbox", row).unbind("change");
    $("td .checkbox", row).bind("change", event => {
      this.toggle(data);
    });

    return row
  }
 }
}

scanJob() {
 let scanner = new FormData;
 scanner.set('id', this.jobProfileId);
 this.scanner.scanJob(scanner).subscribe(res => {
  this.scannedData = JSON.parse(res);
  this.dataTable();
  console.log(this.scannedData);
},
  error => {
    console.log("error");

  }
 )
}

Я хочу увидеть данные в таблице данных

...