angular table lazy loading
onFileSelected(files: FileList) {
    console.log(files)
    console.log(files[0])
    this.csvIsParsing = true;
    let file = files[0];
    // xls is the same MIME type like csv
    let csvType = "application/vnd.ms-excel";
    let xlsxType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    if (file.type !== csvType && file.type !== xlsxType) {
      this.wrongFileTypeError = true;
      this.csvIsParsing = false;
      return;
    } else if (files.length > 1) {
      this.tooManyFilesError = true;
      this.csvIsParsing = false;
      return;
    }
    this.fileName = file.name;
    this.checkFileSize(file.size);
    this.wrongFileTypeError = false;
    this.tooManyFilesError = false;
    if (files.length > 0 && file.type === csvType) { //temporarily
      this.csvParser.parse(file, {
        header: this.hasCsvHeader,
        skipEmptyLines: true,
        dynamicTyping: true,
        // dynamicTyping: true, lässt 0 verschwinden vor 010000
        encoding: "ISO-8859-1",
        complete: (result) => {
          console.log('Parsed: ', result.data);
          this.csvData = result.data;
          this.dataSource = new MatTableDataSource(result.data);
          this.dataSource.sort = this.sort;
          setTimeout(() => this.dataSource.paginator = this.paginator);
          for (let col in this.csvData[0]) {
            this.displayedColumns.push(col);
          }
          console.log(this.dataSource);
          this.csvIsParsing = false;
        }
      });
    }
  }