如何使用jspdf-autotable为从右到左增长的货币字符串创建一个左对齐单元格的表?

时间:2017-07-09 13:23:15

标签: javascript jspdf jspdf-autotable

我一直在努力修改我的桌子几个小时以使它看起来正确,但我找不到一种聪明的方法。

这就是它的样子:http://imgur.com/a/oK8O1

我希望“beløb”和“Restgæld”条目左对齐,但是从右边开始增长。看起来像这样:

Beløb
100.000,00 Kr.
     10,00 Kr.
    200,00 Kr.
  1.000,00 Kr.

Beløb
   100.000,00 Kr.
        10,00 Kr.
       200,00 Kr.
     1.000,00 Kr.

并且肯定不是

Beløb
100.000,00 Kr.
10,00 Kr.
200,00 Kr.
1.000,00 Kr.

此表必须填充页面的整个宽度减去边距。

这些是我的设置:

doc.autoTable(columns, data, {
    addPageContent: pageContent,
    margin: { top: 200 },
    columnStyles: {
        Beløb: {
            halign: 'right'
        },
        Restgæld: {
            halign: 'right'
        }
    },
    headerStyles: { fillColor: [131, 149, 160] }
});

我已尝试手动设置列宽,但这给了我同样的问题。我正在考虑右对齐数据并手动将列宽设置为最大数字的大小。我的问题是桌子变得太短了。我认为一个解决方案是添加一个空的占位符列,该列将跨越页面的其余部分,但我认为这种方法使代码过于复杂。有更聪明的方法吗?也许某些设置允许您在列之间设置间距?

2 个答案:

答案 0 :(得分:0)

您想要的是在要匹配内容的列上设置样式columnWidth: 'wrap';。目前,它们已设置为默认auto,如果有可用空间,则会将其展开。

答案 1 :(得分:0)

同时使用

headerStyles: {theme: 'grid',halign: "right"}columnStyles: {halign: "right"}