dataTable
을 dataTable
안에 사용하고 있습니다. dataExporter
을 사용하여 (어떤 형식 으로든) 내보낼 때 inner-dataTable 값 대신 "[email protected]
"과 같은 형식이 표시됩니다.Primefaces dataExporter 및 중첩 데이터 테이블
한계는 dataExporter
입니까? 이 기능을 구현하려면 dataExporter
을 사용해야합니까? 대안이 있습니까?
dataTable
을 dataTable
안에 사용하고 있습니다. dataExporter
을 사용하여 (어떤 형식 으로든) 내보낼 때 inner-dataTable 값 대신 "[email protected]
"과 같은 형식이 표시됩니다.Primefaces dataExporter 및 중첩 데이터 테이블
한계는 dataExporter
입니까? 이 기능을 구현하려면 dataExporter
을 사용해야합니까? 대안이 있습니까?
이것은 dataExporter
의 제한 사항입니다. 이렇게하려면 자신의 수출자를 만들어야합니다. 나는 Export
클래스 (모든 커스텀 익스포트 클래스의 수퍼 클래스)에서 메소드 exportValue
을 오버라이드 (override)하는 것이 가장 좋은 방법이라고 생각한다. 여기서 값이 HtmlCommandLink
또는 ValueHolder
이 아닌 경우 toString()
이 사용되므로이 값이 인쇄 된 것을 볼 수 있습니다. 또한 내보내기를 위해 사용자 정의 클래스를 인스턴스화하는 액션 리스너를 만들어야합니다.
내 외측 DataTable
단지 하나의 열을 가지며, 각 행 I이 방법에 PDFExporter 드리고 서브 DataTable
이므로 :
document
export
이 방법에 의해 생성
@Override
protected String exportValue(FacesContext context, UIComponent component) {
if (component instanceof DataTable) {
DataTable tab = (DataTable) component;
try {
document.add(exportPDFTable(context, tab, false, false, "UTF-8"));
} catch (DocumentException ex) {
Logger.getLogger(ExtendedPDFExporter.class.getName()).log(Level.SEVERE, null, ex);
}
return "";
else {
return super.exportValue(context, component);
}
}
.
이제는 각 하위 DataTable
이 동적 열을 사용하며 내 보낸 PDF의 해당 열에 대해서는 각 하위 DataTable
에 복제 된 첫 번째 하위 DataTable
의 값이 있습니다. 이것에 대한 아이디어가 있으십니까?
'p : dataExporter>와 같은 모양은 JSF (이것은 PrimeFaces 포함) 구성 요소를 내보내는 방법을 알지 못합니다. 이는 지금까지의 정상적인 동작이며, 그렇습니다. 유사한 상황을 처리하는 방법을 설명하는 [p : dataExporter는 p : cellEditor를 인식하지 못합니다.] (http://stackoverflow.com/a/14413932/1065197)를 읽으십시오. –