如何在pdfmake表中为每两行着色

问题描述 投票:0回答:2

我通常会通过Triyng实现简单的操作,但是我正在使用PDFMAKE库从数据制作pdf。在表的文档中,有一个带状表的示例,如下所示:

{
        style: 'tableExample',
        table: {
            body: [
                ['Sample value 1', 'Sample value 2', 'Sample value 3'],
                ['Sample value 1', 'Sample value 2', 'Sample value 3'],
                ['Sample value 1', 'Sample value 2', 'Sample value 3'],
                ['Sample value 1', 'Sample value 2', 'Sample value 3'],
                ['Sample value 1', 'Sample value 2', 'Sample value 3'],
            ]
        },
        layout: {
            fillColor: function (rowIndex, node, columnIndex) {
                return (rowIndex % 2 === 0) ? '#CCCCCC' : null;
            }
        }
    },

但我想每两行用#CCCCCC上色,而不是一行,然后切换颜色。我尝试了很多事情,但没有人奏效。该函数似乎遍历每一行的每一列。

[请有人知道如何使用pdfmake库吗?

javascript formatting modulo conditional-operator pdfmake
2个回答
1
投票

以下将产生两个之后的两个

for(var i = 0; i < 10; i++){
  if(Math.floor(i/2)%2==0){
    console.log('#CCCCCC');
  }
  else{
    console.log(null);
  }
}

所以您的代码应该是

fillColor: function (rowIndex, node, columnIndex) {
    return (Math.floor(rowIndex/2)%2==0) ? '#CCCCCC' : null;
}

0
投票

您将必须添加return (rowIndex % 3 != 0) ? '#CCCCCC' : null;

尝试一下:

for (let i = 0; i < 9; i++) {
  console.log(((i+1) % 3 != 0) ? '#CCCCCC' : null);
}
© www.soinside.com 2019 - 2024. All rights reserved.