我正在实现一个自定义pdf导出器,但我需要将我的数据表从视图传递到我的支持bean,但我不知道该怎么做。
在视图中我将有一个看起来像这样的命令链接: <h:commandLink action="#{procesos.exportPDF( mytable , 'procesos')}">
</h:commandLink>
这是将DataTable作为参数接收的方法:
public void exportPDF(DataTable table, String filename) throws IOException {
FacesContext context = FacesContext.getCurrentInstance();
Exporter exporter = new CustomPDFExporter();
exporter.export(context, table, filename, false, false, "iso-8859-1", null, null);
context.responseComplete();
}
无论如何..我想要做的是用custompdf导出器修改列宽,因为dataexporter和primefaces的导出器扩展不允许该函数,所以如果有人知道或有一个自定义pdf导出器允许它将是非常感谢能够展示一些(更好的全部)代码:)!
感谢。
答案 0 :(得分:2)
我遇到了同样的问题。 我没有直接通过这张桌子。我刚刚传递了表单和表的id并使用了findComponent
FacesContext context = FacesContext.getCurrentInstance();
UIViewRoot viewRoot = context.getViewRoot();
// find table by form- and table-id
UIComponent component = viewRoot.findComponent(formId).findComponent(tableId);
DataTable table = (DataTable) component;