7

と を使用して、テーブルに基づいて PDF ドキュメントを作成しjsPDFますAutoTable

var doc = new jsPDF('p', 'pt');
   //columns and rows are arrays created from the table content
        doc.autoTable(columns, rows, {

        drawRow: function (row) {
            if (row.index == rows.length - 1) {
                console.log('last row');
                //TODO
            }
        },
        pageBreak: 'avoid',
        headerStyles: {
            fillColor: [239, 154, 154],
            textColor: [0, 0, 0],
            halign: 'center'
        },
        bodyStyles: {
            halign: 'center'
        },
        margin: {top: 60},
        theme: 'striped'
    });

    doc.save('table.pdf');

私がやろうとしているのは、最後のテーブル行に別の背景色を設定することです。上記のコードに示すように、最後の行がいつ描画されているかを検出できますが、それを変更することはできません。row.fillColorRGB値を使用して設定しようとしましたが、効果がないようです。

私もを見ましたが、その問題に役立つものは何も見つかりませんでした。何か案は?

4

2 に答える 2

19

スタイルを動的に変更するには、2 つのオプションがあります。didParseCell1 つ目は、 autoTable のスタイルを変更するために使用する方法です。

doc.autoTable({
    html: '#table',
    didParseCell: function (data) {
        var rows = data.table.body;
        if (data.row.index === rows.length - 1) {
            data.cell.styles.fillColor = [239, 154, 154];
        }
    }
});

2 つ目は、willDrawCelljspdf スタイリング関数を使用する場合に使用する方法です。

doc.autoTable({
    html: '#table',
    willDrawCell: function (data) {
        var rows = data.table.body;
        if (data.row.index === rows.length - 1) {
            doc.setFillColor(239, 154, 154);
        }
    },
});

ここでより高度な例を参照してください。

于 2016-03-01T19:15:34.397 に答える