【问题标题】:jsPDF Autotable change cell color for negative valuesjsPDF Autotable 为负值更改单元格颜色
【发布时间】:2018-05-22 23:00:58
【问题描述】:

我正在使用 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);
        }
    }    
}

【问题讨论】:

    标签: jspdf jspdf-autotable


    【解决方案1】:

    对于最新版本的jspdf-autotable,createdCell函数已被弃用,所以使用didParseCell函数。下面是在单元格中的数据为负数时更改颜色的示例

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

    【讨论】:

    • 我认为上面提到的data.cell.raw 可能需要进一步降低一个级别,即。 data.cell.raw.outerText 当单元格包含特定值“YES”时,我有一个非常相似的着色要求。所以对我有用的是:if(data.section === 'body' &amp;&amp; data.cell.outerText === 'YES' ){ ...
    【解决方案2】:

    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];
                      }
                  }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 2020-09-25
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      相关资源
      最近更新 更多