Как я могу выровнять каждую отдельную ячейку в таблице, а также в заголовке в JSPDF-автотаблице?

#javascript #angular #typescript #alignment #jspdf-autotable

Вопрос:

Что мне нужно сделать, чтобы оформить определенную ячейку в заголовке и в таблице в JSPDF-автотаблице? Я пытаюсь сказать, что я хочу знать, как выбрать конкретную ячейку внутри таблицы или в заголовке и отредактировать ее (например, с помощью стиля). Я также хочу знать, как это сделать, если я введу столбец и строку (оба определены с разными переменными)в функцию автоматической настройки, например

 pdf.autoTable(this.dynMonthColumns, this.financialValueRows, options, {createdHeaderCell(cell, data) {
        this.alignCol(cell, data);
      });

 

Здесь начинается моя функция

 public exportPDFWithNote() {
 

вот мой массив, состоящий из названий динамически отсортированных месяцев, который, конечно, работает.

 this.dynMonthColumns = this.pdfWithoutNoteColumns;

 

Здесь я хотел изменить массив с именем dynMonthColumns следующим образом: я хотел выровнять 1-й(с именем «Конто») , 2-й(с именем «Безайхнунг») и 3-й(«КАГ») справа. Ничего из этого не сработало.

 function alignCol (cell, data){
      let col = this.dynMonthColumns.index;
      console.log('Spalte', col);
      switch (col) {
        case 0:
          cell.styles.halign = 'right';
          break;
        case 1:
          cell.styles.halign = 'right';
          break;
        case 2:
         cell.styles.halign = 'center';
          break;
      }
    }
 

Я также попытался сделать то же самое с массивом строк, называемым financialRowValues. Однако этот массив является 2-мерным.

 
function alignRow(cell, data){
      let row = this.financialValueRows.index;
      switch (row) {
        case 0:
          cell.styles.halign = 'right';
          break;
        case 1:
          cell.styles.halign = 'right';
          break;
        case 2:
          cell.styles.halign = 'right';
          break;
      }
    }

 

With the didDrawPage hook, the header title and the footer title can be shown without problems.

 
 const options = {
      didDrawPage(data) {
        header(data);
        footer(data);

      }, beforePageContent: header,
   

      margin: {
        top: 80
      },
    

     

      headStyles : {
        //fill color: background color
        fillColor: [ bgcRnum , bgcGnum, bgcBnum], fontFamily: 'Arial, Helvetica, sans-serif', textColor: [ fdcRnum , fdcGnum , fdcBnum ] , fontSize: 7 , halign: 'left'
      //[ R nummber , G number, B number] RGB-style
      }



    };
 

When I export a PDF, the columns and the rows, both sorted, are shown. the createdHeaderCell hook hasn’t really worked. It was supposed to launch the function that aligns the columns

     pdf.autoTable(this.dynMonthColumns, this.financialValueRows, options, {createdHeaderCell(cell, data) {
        this.alignCol(cell, data);
      });

    if (typeof pdf.putTotalPages === 'function') {
      pdf.putTotalPages(totalPagesExp);
    }

    pdf.save('SuSa_ohne_Anmerkung.pdf');
    this.currentExport.emit({ excel: true });

}
 

So how can I style each and every table cell in JSPDF-Autotable (e.g. alignment, coloring etc.)?

введите описание изображения здесь

Это заголовок месяца, и я должен иметь возможность изменять определенные ячейки заголовка и строки таблицы, задавая им разные выравнивания . Как мне это сделать?