Mit dem abschneiden von großen text-Wert in p:dataTable und exportieren Sie die Tabelle mit dem vollständigen text
Ich bin mit Primefaces 3.5 mit JSF 2 und habe eine dataTable:
<p:dataTable id="dataTable" var="refType"
value="#{rtmUiController.listAllRefTypes()}" paginator="true"
rows="10" filteredValue="#{rtmUiController.filteredRefTypes}"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,25,50,100" resizableColumns="true"
emptyMessage="No reference type found.">
Die Tabelle enthält die folgenden Spalten mit einem großen text-Beschreibung, die sich derzeit abgeschnitten, inline-und eingeblendet wird ein link zum popup-dialog mit dem vollständigen text:
<p:column filterBy="#{refType.description}"
filterMatchMode="contains">
<f:facet name="header">
<h:outputText value="Description" />
</f:facet>
<h:outputText value="#{refType.description.substring(30)}" />
<p:commandLink id="descriptionLink" value="... (full text)"
oncomplete="descriptionDialog.show()"
update=":tabView:form1:descriptionPanel"
rendered="#{not empty refType.description}">
<f:setPropertyActionListener value="#{refType.description}"
target="#{flash.description}" />
</p:commandLink>
</p:column>
<p:dialog widgetVar="descriptionDialog" resizable="false"
header="Reference Type Description">
<p:panelGrid id="descriptionPanel" columns="1">
<h:outputText id="description" value="#{flash.description}" />
</p:panelGrid>
</p:dialog>
Das problem ist nun, exportieren Sie die Tabelle mit dem vollständigen text Wert zu PDF oder einem anderen format mit der standard-primefaces dataExporter Funktionalität aus der Vitrine, wie es exportiert nur den genauen Inhalt der Tabelle:
<h:panelGrid>
<p:panel header="Export Table Data">
<h:commandLink>
<p:graphicImage id="pdfImage" value="/resources/images/pdf.png" />
<p:dataExporter type="pdf" target="dataTable" fileName="refTypes"
showEffect="fade" hideEffect="fade" />
<p:tooltip for="pdfImage" value="Export table data to PDF file"
showEffect="fade" hideEffect="fade" />
</h:commandLink>
</p:panel>
</h:panelGrid>
Also bitte kann jemand mir raten:
-
Was ist der beste Ansatz, kürzen Sie den text, um ihn in dataTable?
-
Ist und wie der export der gleichen Tabelle, aber bereits mit dem vollständigen text Wert?
- Hallo @BalusC, vielleicht könnten Sie mir raten, sowas bitte?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Reine CSS-Lösung ist hier: http://ovaraksin.blogspot.com.ar/2012/12/elegant-truncated-text-with-ellipses-in.html
So müssen Sie nur den Stil auf der Seite:
Es ist nicht ideal, in Bezug auf Flüssigkeit Verhalten, aber es ist ziemlich einfach und es funktioniert!
Versuchen Sie styling Ihr
description
Feld, so können Sie line-break seinen Inhalt:Ich bin mit Primefaces 5.3 und die Lösung für mein datatable:
Ich hoffe das hilft...
Glück!
Ich portiert Boris' Antwort auf Primefaces 6.0 und arbeitete die folgenden snippet
Den CSS-Selektor ist komplexer, weil wir vermeiden wollen, um Stil zu Sortieren-Symbol der Spalte an. Die entsprechenden Primefaces Beispiel