javascript - pdfmake: How to set the height for all rows? - Stack Overflow

I want to set the row height for all the rows in my table. I am currently specifying my styles like thi

I want to set the row height for all the rows in my table. I am currently specifying my styles like this:

table: {
    widths: ['33%', '34%', '33%'],
    heights: [40, 40],
    headerRows: 1,

That works very well if I have a known amount of rows, in this case, the first row and the table header get the height of 40. Everything underneath will fall back to the default height since I didn't specify anything different.

If I, however, have a table with a lot of rows or like in my case a table where the row count is dynamic, it is a tedious task to write each height into the object.

Is there any better way of applying styles to all rows?

I want to set the row height for all the rows in my table. I am currently specifying my styles like this:

table: {
    widths: ['33%', '34%', '33%'],
    heights: [40, 40],
    headerRows: 1,

That works very well if I have a known amount of rows, in this case, the first row and the table header get the height of 40. Everything underneath will fall back to the default height since I didn't specify anything different.

If I, however, have a table with a lot of rows or like in my case a table where the row count is dynamic, it is a tedious task to write each height into the object.

Is there any better way of applying styles to all rows?

Share Improve this question asked Feb 8, 2022 at 9:14 Luke_KSLuke_KS 1833 silver badges16 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 3

You can set the same height for all rows by assigning to "heights" a number instead of an array:

table: {
  widths: ['33%', '34%', '33%'],
  heights: 40, 
  headerRows: 1,
  body: [...]
}

Alternatively, you could dynamically generate an array of the right length in JavaScript. This is more cumbersome, but it would allow you to specify different heights for different rows in a programmatic way.

Look at the playground here for more examples.

You can set padding in top and bottom. It is so handly, you can also set padding for specific row(s).

table: {
    widths: ['33%', '34%', '33%'],
    headerRows: 1,
    body: [...]
}, 
layout: {
    paddingTop: function (i, node) {
      return 5;
      //return (i === node.table.widths.length - 1) ? 5 : 5;
    },
    paddingBottom: function (i, node) {
      return 5;
      //return (i === node.table.widths.length - 1) ? 5 : 5;
    }
}

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745637775a4637499.html

相关推荐

  • javascript - pdfmake: How to set the height for all rows? - Stack Overflow

    I want to set the row height for all the rows in my table. I am currently specifying my styles like thi

    3小时前
    10

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信