Abd*_*man 12 jspdf jspdf-autotable
我的桌子有13列.如何为每列获得不同的宽度?我可以像这样给每列宽度吗?
styles:{overflow:'linebreak',columnWidth:[100,80,80,70,80,80,70,70,70,70,60,80,100]},
我的表语法:
> var res = doc.autoTableHtmlToJson(document.getElementById(tableID));
> doc.autoTable(res.columns, res.data, { styles: {overflow: 'linebreak'
> ,columnWidth: [100,80,80,70,80,80,70,70,70,70,60,80,100]}, startY:
> 60, bodyStyles: {valign: 'top'}, });
Run Code Online (Sandbox Code Playgroud)
Sim*_*son 25
您必须将columnWidth数组转换为如下所示:
doc.autoTable({
html: '#table',
columnStyles: {
0: {columnWidth: 100},
1: {columnWidth: 80},
2: {columnWidth: 80},
// etc
}
});
Run Code Online (Sandbox Code Playgroud)
注意使用columnStyles而不是styles.
在之前的版本(1.3.4)中,它可以完成如下:
var columns = [
{title: "Signum", dataKey: "signum"},
{title: "Name", dataKey: "name"},
{title: "Role", dataKey: "role"},
{title: "Location", dataKey: "location"}
]
Run Code Online (Sandbox Code Playgroud)
但最新的一个即2.3.2需要以下格式
doc.autoTable(colums,data,{
addPageContent:pageContent,
margin: {horizontal:5,top: 20},
startY: 0.47*doc.internal.pageSize.height,
styles: {overflow: 'linebreak'},
columnStyles: {
id: {columnWidth: 25},
name:{columnWidth:40},
role: {columnWidth: 15},
location: {columnWidth: 30}
}
});
Run Code Online (Sandbox Code Playgroud)
这将仅将id,名称,角色和位置修复为指定的限制.其他标题将由autotable.js相应调整