jsPDF可自动更改负值的单元格颜色

时间:2017-12-08 16:50:53

标签: jspdf jspdf-autotable

我正在使用jsPDF Autotable从HTML表格生成PDF。 TD元素包含使用变量填充单元格的ID。一切正常,但我想将textColor设置为红色表示负值。我找不到如何实现这个目标的例子?

编辑: 当使用钩子值为负时,我解决了使表格的底行变为红色...

drawCell: function (cell, data) {
    if (summary_balance_weekly <0) {
        if (data.row.index === data.table.rows.length - 1) {
            doc.setTextColor(255,0,0);
        }
    }    
}

3 个答案:

答案 0 :(得分:2)

对于最新版本的jspdf-autotable,不推荐使用createdCell函数,因此请使用didParseCell函数。下面是在单元格中的数据为负数时更改颜色的示例

didParseCell: function (data) {
    if(data.section === 'body' && data.cell.raw < 0){
        data.cell.styles.textColor = "red";
    }
}

答案 1 :(得分:1)

fillColor和textColor都接受RGB数组。因此,示例代码将如下所示:

createdCell: function(cell, opts) {
                if (opts.column.index >= 1) { // count startrs from 0
                    // cell.raw contains the cell data
                    cell.styles.fillColor = [216,78,75];     // random color
                    cell.styles.textColor = [58,121,152];
                  }
              }

答案 2 :(得分:-1)

您必须使用'createdCell'功能并在单元格中应用样式:

请参阅我的类似示例:

createdCell: function(cell, opts) {
    if (opts.column.index == 1) {        
        cell.styles.textColor = "#20a8d8";
        cell.styles.fillColor = "#000";
        console.log(cell)
    }
}

https://codepen.io/dieterich/pen/wjzREv