我通常会通过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库吗?
以下将产生两个之后的两个
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;
}
您将必须添加return (rowIndex % 3 != 0) ? '#CCCCCC' : null;
尝试一下:
for (let i = 0; i < 9; i++) {
console.log(((i+1) % 3 != 0) ? '#CCCCCC' : null);
}