Как я могу покрасить строку, используя jsPDF AutoTable на основе значения одной ячейки? - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь создать PDF на основе интерактивной / динамической c таблицы, используя jsPDF + AutoTable. Последняя ячейка в строке будет либо сказать «Да», либо «Нет» - если ячейка говорит «Да», следует выделить всю строку.

Самое близкое, что я получил, - это выделение ячейки, но мне нужно весь ряд выделить. Кажется, у меня возникают проблемы с привязкой ячейки к индексу строки.

Это мой код:

willDrawCell: function (data) {
   if (data.cell.text == "Yes") {
      doc.setFillColor(67, 160, 71);
   }
}

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 24 января 2020

Я смог решить эту проблему!

Перед моим вызовом do c .autoTable () я вычисляю индекс, где находится "Да", и сохраняю эти значения в массиве. Затем я l oop по каждому индексу строки и setFillColor в зависимости от обстоятельств. Вот как теперь выглядит мой код:

willDrawCell: function (data) {
  if (data.cell.text == "Yes") {
   doc.setFillColor(67, 160, 71);
  }
   for (let i = 0; i < ready_rows.length; i++) {
        if (data.row.index === ready_rows[i]) {
             doc.setFillColor(239, 154, 154);
           }
    }
}
...