【发布时间】:2015-01-08 20:51:52
【问题描述】:
我们的项目最近从 primefaces v4.0.24 升级到 primefaces v5.1.6。
在那里进行测试时发现,当数据表打印到打印机或 PDF 时,存在格式问题。列标题没有正确对齐,尤其是具有较长值的列标题。 但是,如果我将布局更改为横向,它会正确匹配。 我希望数据在纵向模式下正确对齐。
这不是以前版本的 primefaces 的问题。
页面由commandlink和datatable组成。 当用户单击 commandlink 时,数据表的 id 将传递给 p:printer。
这里是代码
<h:commandLink styleClass="ui-icon-export-print" title="#{webmsg['action.export.print.hint']}">
<p:printer target="companyTable" />
</h:commandLink>
<p:dataTable id="companyTable" widgetVar="companyTable" var="company" value="#{companies}"
sortBy="#{company.shortName}" sortOrder="ascending" filterEvent="enter"
filteredValue="#{companyForm.filteredCompanies}">
<f:facet name="header">
<h:outputText value="#{appmsg['label.companies']}" />
</f:facet>
<p:column sortBy="#{company.shortName}" filterBy="#{company.shortName}" filterMatchMode="contains" >
<f:facet name="header">
<h:outputText value="..." />
</f:facet>
<h:outputText value="#{company.shortName}" />
</p:column>
.....
</p:dataTable>
数据要么被截断,要么触及列边界。 如果我去打印选项并将默认纸张尺寸从 A4 更改为 Tabloid,则数据正确地适合该列。
应该有某种方法可以使用默认纸张大小自动调整数据。
任何解决格式问题的想法或线索将不胜感激。谢谢。
【问题讨论】:
标签: primefaces printing datatable formatting