我有一个Primefaces dataTable,其中一列有三个输出文本,一个命令按钮带有工具提示。出现按钮,输出标签为
这是出口标签。这是针对text.org.primefaces.component.commandbutton.CommandButton@3f60d3f9
如何使用工具提示包含/打印此命令按钮以将dataTable导出为excel?
我无法将命令按钮移动到业务案例的新列。
答案 0 :(得分:1)
在PrimeFaces中,您可以使用exportFunction属性(在文档中)覆盖列bij的导出内容。如果您在文档中看到此内容,则可以使用Google轻松找到https://forum.primefaces.org/viewtopic.php?t=50284。其中,给出了如何覆盖列的“导出值”的示例:
XHTML:
<p:column exportFunction="#{testView.exportBrand}">
<f:facet name="header">
<h:outputText value="Brand" />
</f:facet>
<h:outputText value="#{car.brand}" />
</p:column>
爪哇:
public String exportBrand(UIColumn column) {
String value = "";
for(UIComponent child: column.getChildren()) {
if(child instanceof ValueHolder) {
value = ComponentUtils.getValueToRender(FacesContext.getCurrentInstance(), child);
}
}
return value + "_TEST";
}
只需对此进行扩展,并在for循环中仅导出要导出的内容。
答案 1 :(得分:0)
除了@Kukeltje的答案外,我想提及一下,您还可以指定自己的方法参数(而不是使用UIColumn
):
手镯:
<p:column exportFunction="#{testView.exportBrand(car)}">
<f:facet name="header">
<h:outputText value="Brand" />
</f:facet>
<h:outputText value="#{car.brand}" />
</p:column>
后备豆:
public String exportBrand(Car car) {
if (car == null) {
return null;
}
return car.getBrand();
}