如何解决dataExporterExcel和CSV未导出dataTableCommandLink值-PrimesFaces和JSF
我在数据表中只有很少的列,可动态显示列名和行值。 但是数据表的第一列具有链接的值。当我们单击该值时,它将重定向到其他屏幕。
问题是当我们导出csv / excel报告时。具有此超链接的第一列未显示确切的值。它在excel中显示如下
org.primefaces.component.column.Column@72d586ad-代替“ S123456789”之类的确切值
请建议如何在excel和csv中显示确切值。
class Base(object):
blocked_methods = []
def f1():
return 1
def f2():
return 2
def f3():
return 3
def __getattribute__(self,name):
if name in self.blocked_methods:
raise AttributeError(name)
else:
return super(Child3,self).__getattribute__(name)
class Child1(Base):
blocked_methods = ['f1']
class Child2(Base):
blocked_methods = ['f2']
class Child3(Base):
blocked_methods = ['f3']
:column>
预先感谢 Nithyn K
解决方法
确定发生这种情况的原因是因为您使用的是自定义组件<e:dataTableCommandLink
,这就是为什么它无法弄清楚要显示什么文本的原因。
这就是我要使用的ExportFunction
...
- 我的示例使用CDI创建一个自定义导出器。
@Named
@ApplicationScoped
public class PassthroughColumnExporter {
public String export(final UIColumn column) {
String value = StringUtils.EMPTY;
for (final UIComponent child : column.getChildren()) {
final Object exportValue = child.getAttributes().get("data-export");
if (exportValue != null) {
value = String.valueOf(exportValue);
break;
}
}
return value;
}
}
- 在XHTML中,使用此自定义导出器导出要查找
data-export
属性的值。
<p:column exportFunction="#{passthroughColumnExporter.export}">
<e:dataTableCommandLink value="#{row.displayValue}" data-export="#{row.exportValue}" />
</p:column>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。